提问人:Eric 提问时间:11/8/2023 最后编辑:Dale KEric 更新时间:11/8/2023 访问量:54
用户在 SSMS 对象资源管理器中看不到 SQL Server 实例,但可以从可用数据库下拉列表中进行选择,并可以针对数据库进行查询
User not see SQL Server instance in SSMS Object Explorer, but can select from available database dropdown and can query against the database
问:
我遇到了一个用户的问题,该用户正在尝试使用 SSMS 处理 SQL Server 实例。当他们尝试连接时,他们会收到以下错误,但随后他们能够从可用数据库下拉列表中选择数据库,并且可以对数据库运行 select 语句。遗憾的是,他们看不到对象资源管理器中列出的数据库。这是在使用 SSMS 19 的 SQL Server 2022 上。用户能够连接到并查看其他服务器,但不能查看此特定实例。
对象“xp_msver”、数据库“mssqlsystemresource”、架构“sys”的 EXECUTE 权限被拒绝。
我尝试删除用户的登录名,然后以完全权限重新添加它。我也尝试将sp.xp_msver上的执行权限授予 [user],但我收到了错误消息:
找不到对象“xp_msver”,因为它不存在或您没有权限。
答:
1赞
David Browne - Microsoft
11/8/2023
#1
验证 master 中的 public 是否对 proc 具有执行权限:
select p.name, perm.*
from sys.database_permissions perm
join sys.database_principals p
on p.principal_id = perm.grantee_principal_id
where perm.major_id = object_id('sys.xp_msver')
应该输出
name class class_desc major_id minor_id grantee_principal_id grantor_principal_id type permission_name
--------------------- ----- ------------------- ----------- ----------- -------------------- -------------------- ---- ----------------
public 1 OBJECT_OR_COLUMN -524454186 0 0 1 EX EXECUTE
评论
0赞
Eric
11/8/2023
就是这样。感谢您的帮助!
评论