在SQL Server Management Studio(SSMS)对象资源管理器中,它显示已连接服务器的所有数据库。但我有一些数据库的访问权限。
SSMS对象资源管理器中是否可以仅显示可访问的数据库?有任何设置吗?
答案 0 :(得分:2)
可以隐藏数据库,以便SSMS中的所有用户都看不到它们。一旦这样做,唯一可以看到数据库的人就是系统管理员和数据库所有者。你基本上否认"查看任何数据库" PUBLIC角色的特权。
USE MASTER
GO
DENY VIEW ANY DATABASE TO PUBLIC
GO
您还可以拒绝特定登录名或角色的VIEW ANY DATABASE权限。例如:
USE MASTER
GO
GRANT VIEW ANY DATABASE TO PUBLIC; -- turn this back on if it was off
GO
DENY VIEW ANY DATABASE TO USER_A;
GO
更详细地描述了here。
希望它有所帮助。