如何使用SqlServer查询数据库表所有或指定记录

如何使用SqlServer查询数据库表所有或指定记录,第1张

如何使用SqlServer查询数据库表所有或指定记录

一般右键点sqlserver里面的表会有查询表数据,点一下后会出来所有表数据,在表数据那边右键选择窗口->sql会在上方生产一个sql语句,在这里输入后按F5可以查询。

select from table查看所有

select from table where col1=“?” and或者 or col2=“?”

table是表名, col1、2是字段名

首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。

pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:

1 OS 层面的 CPU、IO、内存、磁盘、网络等信息;

2 MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。

而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。

三、使用

接着我们来看下如何使用这个工具。

pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。

触发条件相关的参数有以下几个:

function:

∘ 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;

∘ 也可以设置为 processlist,代表监控 show processlist 的输出;

variable:

∘ 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;

threshold:

∘ 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;

∘ 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;

cycles:

∘ 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;

连接参数:host、password、port、socket。

其他一些重要参数:

iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。

run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。

sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。

interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。

dest:监控数据存放路径,默认为 /var/lib/pt-stalk。

retention-time :监控数据保留时长,默认 30 天。

daemonize:以后台服务运行,默认不开启。

log:后台运行日志,默认为 /var/log/pt-stalklog。

collect:触发发生时收集诊断数据,默认开启。

∘ collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。

∘ collect-strace:收集跟踪数据,需要 strace 工具。

∘ collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。

可以使用 SQL Server Profiler 查看跟踪中捕获的事件数据。SQL Server Profiler 显示基于定义的跟踪属性的数据。分析 SQL Server 数据的一种方式是将数据复制到其他程序中,例如 SQL Server 或数据库引擎优化顾问。如果跟踪中包括“文本”数据列,则数据库引擎优化顾问可以使用包含 SQL 批处理和远程过程调用 (RPC) 事件的跟踪文件。为了确保捕获正确的事件和列以便与数据库引擎优化顾问一起使用,请使用随 SQL Server Profiler一起提供的预定义优化模板。

使用 SQL Server Profiler打开跟踪时,如果跟踪文件是由 SQL Server Profiler或 SQL 跟踪系统存储过程创建的,则该文件不需要带 trc 文件扩展名。

注意

SQL Server Profiler还可以读取 SQL 跟踪 log 文件和通用 SQL 脚本文件。打开不带 log 文件扩展名的 SQL 跟踪 log 文件(例如 tracetxt)时,应将文件格式指定为 SQLTrace_Log。

您可以配置 SQL Server Profiler日期和时间显示格式以便有助于跟踪分析。

排除数据故障

使用 SQL Server Profiler时,您可以按“持续时间”、CPU、“读”或“写”数据列将跟踪或跟踪文件分组来排除数据故障。例如,您可以对性能差的查询或逻辑读取 *** 作数特别高的查询进行数据故障排除。

通过将跟踪保存至表和使用 Transact-SQL 查询事件数据,可以找到其他信息。例如,若要确定哪些 SQL:BatchCompleted 事件的等待时间过长,可执行:

SELECT TextData, Duration, CPU

FROM trace_table_name

WHERE EventClass = 12 -- SQL:BatchCompleted events

AND CPU < (Duration 1000)

注意

服务器以微秒(百万分之一秒或 10-6 秒)为单位报告事件的持续时间,以毫秒(千分之一秒或 10-3 秒)为单位报告事件使用的 CPU 时间。SQL Server Profiler 图形用户界面默认以毫秒为单位显示“持续时间”列,但是当跟踪保存到文件或数据库表中时,将以微秒为单位写入“持续时间”列值。

查看跟踪时显示对象名称

如果您要显示对象名称而不是对象标识符(对象 ID),必须捕获“服务器名称”和“数据库 ID”数据列以及“对象名称”数据列。

如果您选择按“对象 ID”数据列分组,请确保先按“服务器名称”和“数据库 ID”数据列分组,然后按“对象 ID”数据列分组。同样,如果您选择按“索引 ID”数据列分组,请确保先按“服务器名称”、“数据库 ID”和“对象 ID”数据列分组,然后按“索引 ID”数据列分组。您必须按照此顺序分组,因为对象 ID 和索引 ID 在服务器和数据库之间并不是唯一的,而索引 ID 甚至在各对象之间都不是唯一的。

查找跟踪内的特定事件

若要查找跟踪中的事件并对事件进行分组,请按下列步骤执行 *** 作:

创建跟踪。

定义跟踪时,除了要捕获的任何其他数据列外,还要捕获“事件类”、ClientProcessID 和“开始时间”数据列。有关详细信息,请参阅创建跟踪 (SQL Server Profiler)。

按“事件类”数据列将捕获的数据分组,并将跟踪捕获至文件或表。若要将捕获的数据分组,请单击“跟踪属性”对话框中“事件选择”选项卡中的“组织列”。有关详细信息,请参阅组织跟踪中显示的列 (SQL Server Profiler)。

开始跟踪,并在经过适当时间或捕获了一定数量的事件后停止。

查找目标事件。

打开跟踪文件或表,并展开所需事件类的节点,例如,Deadlock Chain。有关详细信息,请参阅打开跟踪文件 (SQL Server Profiler)或打开跟踪表 (SQL Server Profiler)。

在跟踪数据中搜索直到找到所需的事件(使用 SQL Server Profiler的“编辑”菜单上的“查找”命令帮助查找跟踪中的值)。记录所跟踪事件的 ClientProcessID 和“开始时间”数据列中的值。

在上下文中显示事件。

显示跟踪属性,并按 ClientProcessID 数据列分组而不是按“事件类”数据列分组。

展开要查看的每个客户端进程 ID 的节点。手动搜索整个跟踪,或使用“查找”直到找到目标事件先前标记的“开始时间”值。这些事件与属于每个选定客户端进程 ID 的其他事件一起按时间顺序进行显示。例如,跟踪内捕获的“死锁”和“死锁链”事件在展开的客户端进程 ID 内紧跟在“SQL:BatchStarting”事件之后显示。

可以

有个databaseid选项,选中后,在下方的文本框中输入要跟踪的数据库名称即可,也可以跟踪某个用户的数据库;

跟踪表具体作法:

1建立一个跟踪,

2.修改跟踪属性,

跟踪数据列至少包括TEXTDATA列,

跟踪事件至少包括TSQL所有子项,

跟在筛选条件中加入TEXTDATA同于%表名%或同于%列名%,

3运行。

这样就可以监视所有包括表名或列名(任选其一)SQL命令或存储过程。

以上就是关于如何使用SqlServer查询数据库表所有或指定记录全部的内容,包括:如何使用SqlServer查询数据库表所有或指定记录、如何实现监控mysql,并将有变动的数据表写入指定的文件夹、sql profiler 怎么跟踪指定客户端等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10189075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存