如何确定哪个 SQL Server 用户或数据库过度使用服务器资源

Gha*_*hri 5 mysql sql-server

我的服务器上有一个 Microsoft SQL Server 实例,其中包含 100 多个数据库和用户。有时,SQL Server 进程使用 100% 的服务器 CPU,我想知道是哪个查询/用户/数据库导致了这种情况并使用了如此多的资源。

对于 MySQL,我使用mysqladmin pr命令查看当前连接了哪些用户。此外,慢查询日志显示需要超过 X 秒才能完成的查询。

我想知道 SQL Server 是否有类似的命令。

Bre*_*zar 5

您可以使用大量动态管理视图 (DMV) 来获取数据,但最简单的方法是使用 Adam Machanic 的 sp_WhoIsActive 存储过程。这是有关如何使用它的视频:

http://www.brentozar.com/archive/2010/09/sql-server-dba-scripts-how-to-find-slow-sql-server-queries/

你可以从这里下载它:

http://whoisactive.com/

输出包括数据库名称、使用的 CPU 周期、查询持续时间等列。