简短背景:
我在A公司工作,在A公司我们有一个不应该的DBA。当我们负责需要快速周转的故障排除项目时,通常需要比应有的时间更长的时间。
出于这个原因,我们要求他授予我对某些服务器(Biztalk SQL 服务器)的 DBO 访问权限。我就是那个正在删除文件并监视这些东西的人,有时是一夜之间,最近我们一直在经历系统速度下降的情况。
因此,对于 Biztalk 的这些问题,我进入了 SQL 服务器并试图四处挖掘,但似乎大多数问题都需要比我更高的权限。我已经查找并终止了暂停的查询,但作为 DBO,我想知道我可以在多大程度上监控和了解当前正在运行/暂停的作业。
我熟悉 execsp_who2
但除此之外kill %%
我一直在碰壁......
我的问题:
作为 DBO,是否有任何有用的功能可以帮助确定这些暂停查询的原因?除了谁和谁2?
你们有没有为识别这些错误的原因而编写的任何本土查询?
任何帮助深表感谢!
虽然登录机器并分析资源监视器上的等待链可以提供一些额外的信息(例如,如果 sqlservr.exe 线程被阻止等待 lsass.exe,这可能意味着它在身份验证验证时被阻止),但你会真正想要的是获得
VIEW SERVER STATE
许可,以便您可以查看可能对您有帮助的 DMV,例如:我建议使用sp_WhoIsActive - 如果您有权访问 DMV 数据。
或者,您可以使用来自 Glen Berry或sp_AskBrent的诊断查询。
A Performance Troubleshooting Methodology for SQL Server是一个好的开始