有没有关于“为什么 SQL DBA 需要本地 Windows 管理员权限”的 Microsoft 文档?

有没有关于“为什么 SQL DBA 需要本地 Windows 管理员权限”的 Microsoft 文档?

我正在寻找有关 SQL DBA(而非 SQL 服务帐户)需要哪些操作系统级别权限的 Microsoft 文档、文章或白皮书。一般认为 SQL DBA 需要本地管理员权限,但据我所知,仅在 SQL 安装期间才需要。

如能提供指向此类文档的任何指针,我们将不胜感激。

答案1

出于以下原因,授予 DBA 对 SQL 服务器的上帝权限是很常见的:

  • SQL 服务器通常是只是SQL 服务器,因此 DBA 唯一能够影响的服务就是他负责的服务。
  • DBA 有时需要重新启动服务器并重新配置操作系统。
  • 出于实际目的,DBA 否则就必须在夜间出警时叫醒管理员。

话虽如此,这实际上取决于组织以及您拥有的 DBA 类型。此外,您可以授予 DBA 对 SQL 实例的管理访问权限,而无需授予对操作系统的管理访问权限。如果您不信任/不能信任 DBA 来维护操作系统,并且您必须自己承担重启/维护责任,则最好这样做。

不过,你问了一个很有针对性的问题,因为微软在这个问题上并没有固定的立场。你可能会在 Technet 上找到一些关于这个问题的讨论,但我看不到他们发布白皮书。我能找到的最接近的是安全最佳实践文档:http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.doc

答案2

据我所知,假设应该是相反的。您应该证明您需要管理员访问权限。显然,您在安装过程中需要它(尽管根据他们的规范,我将使用我的帐户进行安装)。DBA 需要对 SQL 服务器的管理员访问权限。应该从他们的工作站运行 SQL 服务器管理工​​作室,使用他们的 Windows 凭据,并应授予他们所需的所有访问权限。

编辑:我之所以选择这个答案,并不是因为有一个绝对的答案,而是因为 OP 指出“普遍认为 SQL DBA 需要本地管理员权限”

从管理员的角度来看(无论是作为 SQL 管理员还是系统管理员),我不认为这是行业标准做法或最佳实践。当然,所有 Microsoft 文档都会支持最小特权

答案3

这是一篇 MSDN 文章,其中包含许多与 SQL Server 安全相关的其他文章的链接。

http://msdn.microsoft.com/en-us/library/bb283235(SQL.90).aspx

这里有一篇文章讨论如何限制 SQL 分析服务的交互式登录 http://msdn.microsoft.com/en-us/library/ms175588(SQL.90).aspx

根据 DBA 的工作职责以及“SQL Server”的含义,DBA 可能需要管理员权限。SQL Server 可能意味着 SQL 数据库引擎、分析服务、集成服务或报告服务。

然后是备份和恢复以及这些文件的位置。DBA 是否需要创建新的数据库,他/她是否可以为没有管理员权限的用户创建数据文件和日志文件。重新启动服务怎么样?

不,DBA 不必是机器的管理员,但 DBA 通常需要执行许多需要这些权限的任务。

答案4

设置和安装 sql server,使用今天的 MSA 和 gMSA 帐户将需要 DBA 拥有大量的 AD 访问权限...

为可用性组设置 Windows 集群需要在 AD 中为集群对象分配权限(读取所有属性并创建计算机对象),以便它可以为 SQL 服务器可用性组创建侦听器计算机对象。

设置和维护 SQL 服务器的安全性应始终涉及 AD,除非您想要 SQL 登录,看在上帝的份上,这需要消失...例如,主数据服务都是 AD...

设置 SQL 服务器以正确通信和解决 Kerberos 的连接问题将需要 setSPN 权限。

SQL Server 加密、集群文件共享见证、设置导出/导入文件或备份/恢复数据库的作业将需要在网络上更改文件夹权限的权限。

性能故障排除和管理将需要访问 vmware,并在机器上进行本地管理员访问,以便查看磁盘队列长度等内容。

数据库的容量规划和架构将需要访问存储 san 来评估性能指标

DBA 需要协调操作系统级别的修补,您不能仅仅重新启动 AG 中的主服务器。

在升级期间排除连接故障或操作 cname 将需要 DNS 权限来验证 cname、设置刷新时间、创建和更改 cname 以根据需要指向新的生产服务器,从而避免停机。

这实际上取决于您雇用的是 DBA 还是 SQL 开发人员,以及您对他们的期望。如果您希望 DBA 能够处理受数据库影响的所有事情,建立高可用性服务器集群并对其进行维护/故障排除,那么 DBA 将需要域管理员权限。如果您想要一个 SQL 开发人员,他可以使存储过程快速运行,然后每 5 分钟为您的系统管理员提交工单以安装/配置/维护 sql 服务器,那么我猜他们不需要 sql 服务器级别的 sys_admin 以外的任何东西。

相关内容