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

 

posted @ 2022-11-04 14:46  三瑞  阅读(586)  评论(0编辑  收藏  举报