您的位置:首页 > 数据库

SQL 事件探查器 分析死锁

2011-05-12 23:47 239 查看
通常情况下,使用 SQL 事件探查器可以:

1.查找执行最差的查询

例如,可以创建跟踪来捕获与 TSQL 和 Stored Procedure 事件类(尤其是 RPC:Completed 和 SQL:BatchCompleted)相关的事件。
在这个跟踪内包含所有数据列,按 Duration 分组并指定事件准则。例如,如果指定事件的 Duration 至少为 1,000 毫秒,
则可以跟踪中排除运行时间短的事件。根据需要可以增大 Duration 的最小值。如果想一次只监视一个数据库,为 Database ID
事件准则指定一个值。

2.识别死锁原因
例如,可以创建一个跟踪来捕获与 TSQL 和 Stored Procedure 事件类(RPC:Starting 和 SQL:BatchStarting)以及 Locks 事件类
(Lock:Deadlock 和 Lock:Deadlock Chain)相关的事件。在这个跟踪内包括所有数据列并按 Event Class 分组。如果想一次只
监视一个数据库,为 Database ID 事件准则指定一个值。
若要查看死锁所涉及的连接,执行下列操作之一:
打开包含捕获的数据的跟踪,按 ClientProcessID 将数据分组并展开死锁所涉及的两个连接。

将捕获的数据保存到一个跟踪文件,然后打开这个跟踪文件两次,使其显示在两个单独的 SQL 事件探查器窗口内。按
ClientProcessID 将捕获的数据分组,然后展开死锁所涉及的进程 ID;每个死锁连接都在一个单独的窗口内。平铺窗口以查看
导致死锁的事件。

3.监视存储过程的性能

例如,可以创建一个跟踪来捕获与 Stored Procedure 事件类(SP:Completed、SP:Starting、SP:StmtCompleted 和 SP:StmtStarting)
和 TSQL 事件类(SQL:BatchStarting 和 SQL:BatchCompleted)相关的事件。在这个跟踪内包含所有数据列并按 ClientProcessID
分组。如果想一次只监视一个数据库,为 Database ID 事件准则指定一个值。同样,如果想一次只监视一个存储过程,为
Object ID 事件准则指定一个值。

4.审核 Microsoft%26amp;reg; SQL Server%26amp;#8482; 活动

可以使用 SQL 事件探查器审核 SQL Server 中的活动。例如,如果安全管理员需要随时了解谁登录到了服务器,可以创建 SQL
事件探查器跟踪,提供已登录到服务器或从服务器注销的用户的完整视图。之后,可出于法律目的使用这些信息记录活动,
和出于技术目的使用这些信息跟踪违反安全策略的行为。若要设置 SQL 事件探查器跟踪来跟踪已登录到服务器或从服务器注销
的用户,请执行下列操作:

创建跟踪并选择 Audit Login Event。

若要返回适当的信息,请指定下列数据列:
EventClass(默认情况下选定)
EventSubClass
LoginSID
LoginName

监视每个用户的 Transact-SQL 活动。
可以创建跟踪来捕获与 Sessions 事件类、ExistingConnection 和 TSQL 事件类相关的事件。将所有数据列包含在此跟踪内,不要指定任何事件准则,并按 DBUserName 将捕获的事件分组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: