SQL SERVER 中 sys.dm_tran_locks 消息 297,级别 16,状态 1,第 6 行 用户没有执行此操作的权限。
原创
©著作权归作者所有:来自51CTO博客作者wx62c572815b406的原创作品,请联系作者获取转载授权,否则将追究法律责任
SQL SERVER 中 sys.dm_tran_locks 消息 297,级别 16,状态 1,第 6 行 用户没有执行此操作的权限。
--1.查询数据库阻塞与死锁的进程清单(可分析清单详情,看看死锁id对应的执行sql,分析sql语句,杀掉select语句的进程)
SELECT 'kill', request_session_id spid, OBJECT_NAME( resource_associated_entity_id )
tableName FROM sys.dm_tran_locks WHERE resource_type = 'OBJECT'
order by request_session_id
消息 297,级别 16,状态 1,第 6 行
用户没有执行此操作的权限。
解决方法:
1、脚本
--gzuser可以有数据库账号或服务器级别角色
--服务器级别角色如下:https://learn.microsoft.com/zh-cn/sql/relational-databases/security/authentication-access/server-level-roles?view=sql-server-ver16
--授予查看服务器状态权限
grant view server state to gzuser
--撤销查看服务器状态权限
revoke view server state to gzuser
--拒绝查看服务器状态权限
deny view server state to gzuser
--权限:https://learn.microsoft.com/zh-cn/sql/relational-databases/security/permissions-database-engine?view=sql-server-ver16
2、界面
kill权限
kill [spid]
消息 6102,级别 14,状态 1,第 3 行
用户没有使用 KILL 语句的权限。
--授予更改任意连接权限
grant ALTER ANY CONNECTION to gzuser
--撤销更改任意连接权限
revoke ALTER ANY CONNECTION to gzuser
--拒绝更改任意连接权限
deny ALTER ANY CONNECTION to gzuser