SQL SERVER 中 sys.dm_tran_locks 消息 297,级别 16,状态 1,第 6 行 用户没有执行此操作的权限。
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
这篇文章反MSSQL的角色说的比较清楚:https://blog.csdn.net/weixin_30781059/article/details/113630885