当前位置:首页 » 编程语言 » sql跟踪单个客户端
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql跟踪单个客户端

发布时间: 2022-06-23 15:10:44

㈠ 怎样对某个客户端做sql跟踪

采用sqlprofiler,可以监控指定客户端的哦
请采纳!

㈡ 如何通过跟踪客户端程序发出的sql的方法来优化SQL

1. 识别要跟踪的客户端程序到数据库的连接(后面都用session代替),主要找出能唯一识别一个session的sid与serial#。
2. 设定相应的参数,如打开时间开关(可以知道一个sql执行了多长时间),存放跟踪数据的文件的位置、最大值。
3. 启动跟踪功能。
4. 让系统运行一段时间,以便可以收集到跟踪数据。
5. 关闭跟踪功能。
6. 格式化跟踪数据,得到我们易于理解的跟踪结果。
http://blog.csdn.net/yu422560654/article/details/44121027

㈢ 在sqlserver2008用sql监视器 怎么监视客户端应用程序的sql语句

打开2008的事件探查器,工具栏有个按钮,新建跟踪,然后连好你要跟踪的数据库实例,确定即可新建跟踪,就可以查看链接这个数据库实例的语句执行,创建完跟踪之后
每一个客户端都有一个ClientProcessID,如果你只想跟踪这一个客户端的语句执行情况的话:
先让客户端查询一个报表,通过事件探查器看看它的ClientProcessID,然后暂停事件探查,
文件——属性——筛选——在下面找到ClientProcessID,在等于处双击,然后填入客户端的ClientProcessID,确定,重新开启追中,就可以只看这一个客户端的运行情况了

㈣ 如何截获提交道SQLServer服务器上的SQL语句

打开
"开始"-"所有程序"-"Microsoft SQL Server"-"事件探查器"
打开程序之后点菜单栏的
"文件"-"新建"-"跟踪"
然后执行你要看SQL语句的程序.事件探查器就会把该时间段内所有执行的SQL语句列出来.

相关知识如下:
使用 SQL 事件探查器进行监视
SQL 事件探查器是图形工具,使系统管理员得以监视 Microsoft® SQL Server™ 实例中的事件。可以捕获有关每个事件的数据并将其保存到文件或 SQL Server 表中供以后分析。例如,可以对生产环境进行监视,了解执行速度太慢而妨碍性能的存储过程。

使用 SQL 事件探查器只监视感兴趣的事件。如果跟踪变得太大,可以基于需要的信息进行筛选,以便只收集事件数据的子集。监视太多事件类会增加服务器和监视进程的开销,并且可能导致跟踪文件或跟踪表变得很大,尤其是在进行长时间监视时。

在跟踪事件后,SQL 事件探查器允许重播在 SQL Server 实例上捕获的事件数据,因此可以如事件当初发生时一样有效地重新执行保存的事件。

使用 SQL 事件探查器可以:

监视 SQL Server 实例的性能。

调试 Transact-SQL 语句和存储过程。

识别执行慢的查询。

在工程开发阶段,通过单步执行语句测试 SQL 语句和存储过程,以确认代码按预期运行。

通过捕获生产系统中的事件并在测试系统中重播它们来解决 SQL Server 中的问题。这对测试和调试很有用,并使得用户可以不受干扰地继续使用生产系统。

审核和复查在 SQL Server 实例中发生的活动。这使得安全管理员得以复查任何审核事件,包括登录尝试的成功与失败,以及访问语句和对象的权限成功与失败。
SQL 事件探查器为用于监视 SQL Server 实例的一组存储过程提供图形用户界面。例如,可以创建您自己的应用程序,以便使用 SQL 事件探查器存储过程监视 SQL Server。

必须有至少 10 MB 的可用空间用以运行 SQL 事件探查器。当使用 SQL 事件探查器时,如果可用空间降至 10 MB 以下,SQL 事件探查器的所有功能都将停止。

SQL 事件探查器术语
若要使用 SQL 事件探查器,需要了解描述工具功能的术语。例如,创建模板来定义要收集的数据。通过在模板中所定义的事件上运行跟踪来收集这些数据。当运行跟踪时,描述事件数据的事件类和数据列显示在 SQL 事件探查器中。

模板
模板定义想要使用 SQL 事件探查器监视的每个事件的准则。例如,可以创建一个模板以指定使用哪些事件、数据列和筛选。然后可以保存该模板,并用当前的模板设置启动跟踪。捕获的跟踪数据基于模板中指定的选项。模板不执行且必须用 .tdf 扩展名保存到文件。

跟踪
跟踪基于选定的事件、数据列和筛选捕获数据。例如,可创建模板监视异常错误。为此,应选择跟踪 Exception 事件类以及 Error、State 和 Severity 数据列,这些都是为了使跟踪结果提供有意义的数据而需收集的。保存模板后,便可将其作为跟踪运行,并且可收集关于服务器中发生的任何 Exception 事件的数据。可保存此跟踪数据,然后稍后重播或立即用于分析。

筛选

当创建跟踪或模板时,可以定义筛选由事件收集的数据的准则。如果跟踪变得太大,可以基于想要的信息进行筛选,以便只收集事件数据的子集。如果没有设置筛选,跟踪输出中将返回选定事件类的所有事件。例如,可以将跟踪中的 Microsoft Windows® 2000 用户名限制为特定用户,以将输出数据减少到感兴趣的那些用户。
事件分类
事件分类定义事件的分组方法。例如,所有锁事件类都在锁事件分类内分组。但是,事件分类只存在于 SQL 事件探查器中。该术语不反映引擎事件的分组方法。

事件
事件是在 Microsoft® SQL Server™ 引擎中生成的操作。例如:

登录连接、失败和断开。

Transact-SQL SELECT、INSERT、UPDATE 和 DELETE 语句。

远程过程调用 (RPC) 批处理状态。

存储过程的开始或结束。

存储过程内的语句的开始或结束。

SQL 批处理的开始或结束。

写入 SQL Server 错误日志的错误。

在数据库对象上获取或释放的锁。

打开的游标。

安全权限检查。
由事件生成的所有数据显示在单个行中的跟踪内 。该行包含详细描述事件的数据列,称为事件类。

事件类
事件类是描述由服务器生成的事件的列。事件类确定收集的数据类型,因此并不是所有数据列都适用于所有事件类。事件类示例包括:

SQL:BatchCompleted,表示已完成 SQL 批处理。

运行客户端的计算机的名称。

受事件影响的对象 ID(如表名)。

发出语句的用户的 SQL Server 名称。

正在执行的 Transact-SQL 语句文本或存储过程文本。

事件开始和结束的时间。
数据列
数据列描述为跟踪内捕获的每个事件类所收集的数据。事件类确定收集的数据类型,因此并不是所有数据列都适用于所有事件类。例如,为 Lock:Acquired 事件类捕获 Binary Data 数据列时,该数据列包含锁定的页 ID 或行的值,但没有 Integer Data 事件类的值。对于所有事件类,默认数据列均为自动填充。

㈤ 如何通过跟踪一个客户端程序发出的sql的方法来优化SQL

1、启动Profiler,
2、创建一个跟踪
3、设置好过滤规则(主机=这个客户端程序名)

㈥ 请教:sqlserver2000下如何跟踪某一个客户机的sql语句

可以使用查找的方法来找相应的SQL语句,跟踪某一客户端的操作记录,在新建一个跟踪的跟踪属性中可以设置相关的筛选项目

㈦ sql profiler 怎么跟踪指定客户端

可以使用 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 文件(例如 trace.txt)时,应将文件格式指定为 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”事件之后显示。