拒绝或支持查看 Amazon RDS for SQL Server 的数据库名称
主用户无法设置 DENY VIEW ANY DATABASE TO
来向用户隐藏数据库。要更改此权限,请改用以下存储过程:LOGIN
-
拒绝
LOGIN
的数据库视图访问权限:EXEC msdb.dbo.rds_manage_view_db_permission @permission=‘DENY’, @server_principal=
‘LOGIN’
go -
支持
LOGIN
的数据库视图访问权限:EXEC msdb.dbo.rds_manage_view_db_permission @permission='GRANT', @server_principal=
'LOGIN'
go
使用此存储过程时,请注意以下事项:
-
数据库名称对于 SSMS 和内部 DMV(动态管理视图)处于隐藏状态。但是,仍然可以从审计、日志和元数据表中看到数据库名称。这些是受保护的
VIEW ANY DATABASE
服务器权限。有关更多信息,请参阅 DENY Server Permissions。 -
一旦权限恢复为
GRANT
(支持),LOGIN
就可以查看所有数据库。 -
如果您删除并重新创建
LOGIN
,则与 LOGIN 相关的查看权限将重置为ALLOW
。 -
对于多可用区实例,仅在主要主机上为
LOGIN
设置DENY
或GRANT
权限。更改会自动传播到辅助主机。 -
此权限仅更改登录名是否可以查看数据库名称。但是,对数据库和其中对象的访问权限是单独管理的。