拒绝或支持查看 Amazon RDS for SQL Server 的数据库名称 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

拒绝或支持查看 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 设置 DENYGRANT 权限。更改会自动传播到辅助主机。

  • 此权限仅更改登录名是否可以查看数据库名称。但是,对数据库和其中对象的访问权限是单独管理的。