仅授予对系统数据库的访问权限

Som*_*guy 2 sql-server permissions

是否可以授予类似 SA 的权限减去对用户数据库的任何访问权限?我希望人们能够从系统数据库中收集有关 Sql Server 的信息,但我想确保无法触及用户数据库。解决这个问题的最佳方法是什么?

Ken*_*her 5

您可以采取几种方法。更好的一种是授予VIEW SERVER STATE。这使您可以访问提供有关服务器信息的 DMO。

另一个版本(我不推荐)是授予CONTROL SERVER. 此权限与 SYSADMIN 非常相似,但您可以执行 DENY。所以你可以DENY CONNECT在每个用户数据库上。不利的一面是您给某人(例如)停止和启动 SQL 服务的能力。

除非你有一个非常好的理由来超越VIEW SERVER STATE只是去与那一个。

您还可以查看服务器级别角色列表,看看哪些符合您的需求。请记住,securityadmin例如,某人可以创建具有足够权限的登录名来影响数据库。