You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure SQL Server权限配置问题:SSMS可查数据但无法查看对象

Azure SQL Server只读用户权限配置问题解决

问题场景

需配置Azure SQL Server只读用户,满足以下要求:

  • 仅允许执行SELECT查询,禁止创建、插入、删除、修改操作
  • 在SSMS中可展开查看Tables/Views/Programmability对象
  • 能查看对象的脚本定义

当前已完成的配置:

Master数据库操作

CREATE LOGIN test1 WITH PASSWORD = 'Test123%57';
CREATE USER test1 FROM LOGIN test1;

目标业务数据库操作

CREATE USER test1 FROM LOGIN test1 WITH DEFAULT_SCHEMA=dbo;
ALTER ROLE db_datareader ADD MEMBER test1;
ALTER ROLE db_denydatawriter ADD MEMBER test1;
GRANT SELECT TO test1;
GRANT VIEW DEFINITION TO test1;

配置后用户可正常执行SELECT查询,但无法在SSMS中展开Tables/Views/Programmability对象。

解决方案

问题根源是用户缺少访问系统目录视图的权限,SSMS展开对象时需要查询这些视图获取对象列表。在目标业务数据库中执行以下补充配置:

-- 授予用户查询系统目录视图的权限
GRANT SELECT ON SCHEMA::sys TO test1;

-- 确保覆盖数据库范围的VIEW DEFINITION权限
GRANT VIEW DEFINITION ON DATABASE::[YourDatabaseName] TO test1;

将[YourDatabaseName]替换为实际的目标业务数据库名称。

执行完成后,用户即可在SSMS中正常展开Tables/Views/Programmability节点,同时保持只读权限,无法执行增删改操作。

内容的提问来源于stack exchange,提问作者koolhyd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:07:15