我已经创建了在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
答案 0 :(得分:0)
要查看所有活动的连接,您必须在服务器上拥有VIEW SERVER STATE
权限,否则,您只能看到当前会话(将从中运行dbo.sysprocesses查询的会话)。
您可以使用以下命令来授予必要的权限。
USE master;
GO
GRANT VIEW SERVER STATE TO [MyUser];
GO