SSMS 拥有服务器SysAdmin权限却无法查看Execution Plan,如何自行授予执行计划权限
SQL Server SysAdmin账号无法查看执行计划的解决方法
权限说明
SysAdmin固定服务器角色默认已包含查看执行计划所需的全部权限,无需额外授权即可正常操作。如果出现执行失败的情况,可先验证实际权限后手动修正。
操作步骤
- 第一步:验证当前账号的SysAdmin身份有效性
执行以下SQL查询确认当前会话的角色成员身份:
若返回值为SELECT IS_SRVROLEMEMBER('sysadmin', SUSER_SNAME()) AS IsSysAdmin;1,说明当前账号确实属于SysAdmin角色;若返回值为0,说明实际权限与告知的配置不符,需联系服务器管理员核对账号权限。 - 第二步:修正权限配置
确认持有SysAdmin权限仍无法查看执行计划的,一般是对应权限被显式拒绝导致,先执行撤销拒绝的操作,再重新授权即可:- 服务器级权限修复(解决全局无法查看执行计划的问题):
REVOKE VIEW SERVER STATE TO [你的登录账号全称]; GRANT VIEW SERVER STATE TO [你的登录账号全称];- 数据库级权限修复(仅针对特定数据库查看执行计划失败的场景):
USE [你要查询的目标数据库名称]; REVOKE SHOWPLAN TO [你的数据库用户名/登录账号全称]; GRANT SHOWPLAN TO [你的数据库用户名/登录账号全称]; - 第三步:权限配置完成后,断开当前SSMS的服务器连接再重新连接,即可正常查看预估执行计划和实际执行计划。
内容的提问来源于stack exchange,提问作者Chicken Sandwich No Pickles
相关产品推荐
相关产品推荐

