拒绝或支持查看 Amazon RDS for SQL Server 的数据库名称 - Amazon Relational Database Service

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

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