SQL-无法找到/查看主数据库sysprocess中当前正在执行的阻塞查询

时间:2018-07-20 10:40:38

标签: sql-server

我已经创建了在master.dbo.sysprocesses表(SELECT * FROM master.dbo.sysprocesses,其中被阻止<> 0)中创建了阻塞事务和查询的方案,以查看阻塞和阻塞查询,但是我看不到。 还有一件事是,我可以在本地sql服务器上运行它时看到,但是在我看不到的preprod服务器之一上看到。

帮助表示赞赏。预先感谢。

--Blocking transaction--
BEGIN
  BEGIN TRANSACTION
  update Person set status_id=1 where person_id=2584968
  WAITFOR DELAY '00:05';
  COMMIT
END;

--Blocked query--

select * from Person where person_id=2584968

1 个答案:

答案 0 :(得分:0)

要查看所有活动的连接,您必须在服务器上拥有VIEW SERVER STATE权限,否则,您只能看到当前会话(将从中运行dbo.sysprocesses查询的会话)。

您可以使用以下命令来授予必要的权限。

USE master;  
GO
GRANT VIEW SERVER STATE TO [MyUser];  
GO