SQLServer新建用户,SSMS中只能看到自己有权限访问的数据库(解决方案)

SQL Server 中配置新建的用户,使其在 SQL Server Management Studio (SSMS) 中只能看到自己有权限访问的数据库,而看不到其他数据库
核心配置:限制数据库可见性(拒绝 public 角色查看所有数据库的权限)
执行以下脚本,拒绝 public 角色查看所有数据库的权限(注意:此操作对所有未单独授权的用户生效):
步骤1:服务器级别:拒绝 public 角色查看所有数据库的权限
SQL 全选
USE master;
DENY VIEW ANY DATABASE TO public;如上配置,所有用户默认看不到任何数据库了。
为目标用户授予查看指定数据库的权限
步骤2:需要为目标用户授予查看指定数据库的权限
SQL 全选
--命令
ALTER AUTHORIZATION ON DATABASE::[<目标数据库名>] TO [<登录名>];
--参考:
ALTER AUTHORIZATION ON DATABASE::[CSFrameworkV6_Normal] TO [csframework];
关闭当前 SSMS 窗口,用新建的用户重新登录:

如果需要恢复 public 角色的查看权限
SQL 全选
USE master;
GRANT VIEW ANY DATABASE TO public;
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网





