u23*_*534 6 sql-server-2008 sql-server sql-server-2012
我有一个 2008/2012 年的 Sql 服务器。一些用户运行非常昂贵的查询,例如在一个事务中更新 1G 行或交叉连接几个非常大的表,它会导致服务器时常无响应。
跟踪/触发服务器以在发生时保存正在运行的查询的好方法是什么?
小智 7
您可以使用以下查询通过 DMV 识别有问题的查询:
USE [master]
GO
SELECT session_id,
blocking_session_id,
wait_time,
wait_type,
last_wait_type,
wait_resource,
transaction_isolati,
on_level,
lock_timeout
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0
GO
Run Code Online (Sandbox Code Playgroud)
如果您想收集历史数据或自动化该过程,您应该考虑 3rd 方解决方案。我正在使用ApexSQL Monitor,但市场上还有很多其他的。WindRaven 提到了一些,但也有 Idera Diagnostic、Nagios、SQL Sentry、Quest Spotlight。
归档时间: |
|
查看次数: |
2647 次 |
最近记录: |