我正在寻找有关 SQL DBA(不是 SQL 服务帐户)需要哪些操作系统级别权限的 Microsoft 文档或文章或白皮书。一般假设 SQL DBA 需要本地管理员权限,但 AFAIK 仅在 SQL 安装期间才需要。
任何指向此类文档的指针将不胜感激。
我正在寻找有关 SQL DBA(不是 SQL 服务帐户)需要哪些操作系统级别权限的 Microsoft 文档或文章或白皮书。一般假设 SQL DBA 需要本地管理员权限,但 AFAIK 仅在 SQL 安装期间才需要。
任何指向此类文档的指针将不胜感激。
授予 DBA 对 SQL 服务器的上帝权限是很常见的,原因如下:
也就是说,这实际上取决于组织以及您拥有的 DBA 类型。此外,您可以授予 DBA 对 SQL 实例的管理访问权限,而无需授予对操作系统的管理访问权限。如果您不/不能信任 DBA 来维护操作系统,这是首选,并且您必须自己承担重新启动/维护的责任。
不过,您已经提出了一个加载的问题,因为 MS 在这个问题上并没有真正的固定立场。你可能会发现一些关于这个问题的 technet 讨论,但我看不到他们发布白皮书。我能给你的最接近的是安全最佳实践文档:http: //download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.doc
AFAIK假设应该是相反的。您应该证明您需要管理员权限。显然,您在安装过程中会需要它(尽管我会根据他们的规范使用我的帐户进行安装)。DBA 需要管理员访问 SQL Server。SQL Server Management Studio 应该从他们的工作站运行,使用他们的 Windows 凭据,并且应该给他们所有他们需要的访问权限。
编辑:我接受这个答案不是因为有一个绝对的答案,而是因为 OP 声明“一般假设 SQL DBA 需要本地管理员权限”
从管理员的角度来看(无论是作为 SQL 管理员还是系统管理员),我认为这既不是行业标准做法,也不是最佳做法。当然,所有 Microsoft 文档都将支持最小权限
这是一篇 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 执行许多需要这些权限的任务。
我认为 MS 不会就此给出明确的立场。我的看法是,如果有人在一个机器上拥有本地管理员,那么他们对该机器承担一定程度的责任:它是操作系统级别的正常运行时间、可靠性、性能、安全性等。如果该人能够承担该责任,并且如果承担该责任在他们的工作范围内,那就可以了;否则答案是“不”。
使用今天的 MSA 和 gMSA 帐户设置和安装 sql server 将要求 DBA 拥有大量的 AD 访问权限...
为可用性组设置 Windows 集群需要将 AD 中的权限(读取所有属性并创建计算机对象)分配给集群对象,以便它可以为 sql server 可用性组创建侦听器计算机对象。
为您的 sql 服务器设置和维护安全性应该始终涉及 AD,除非您想要 SQL 登录,看在上帝的份上需要离开......例如主数据服务都是 AD......
设置 SQL 服务器以正确通信并解决与 Kerberos 的连接问题,将需要 setSPN 权限。
SQL Server 加密、集群文件共享见证、设置作业以导出/导入文件或备份/恢复数据库将需要更改网络上文件夹权限的权限。
性能故障排除和管理将需要访问 vmware、机器上的 localadmin 访问权限,以便查看磁盘队列长度等内容。
数据库的容量规划和架构将需要访问存储 san 以评估性能指标
DBA 需要协调操作系统级别的补丁,您不能只重启 AG 中的主服务器。
在升级期间对连接进行故障排除或操作 cnames 将需要 DNS 权限来验证 cnames、设置刷新时间、创建和更改 cnames 以根据需要指向新的生产服务器以避免停机。
这实际上取决于您是否聘请了 DBA 或 SQL 开发人员,以及您对他们的期望。如果您希望 DBA 能够处理受数据库影响的所有事情,建立高可用性服务器集群并对其进行维护/故障排除,那么 DBA 将需要域管理员权限。如果您想要一个可以使存储过程快速运行的 SQL 开发人员,然后每 5 分钟为您的系统管理员安装/配置/维护 sql 服务器提交一次票证,那么我猜他们不需要 sql 中的 sys_admin 之外的任何东西服务器级别。
SQL DBA 需要本地管理员权限有一个通用协议。
如果你束缚了负责数据库健康的人的手,那么预计它会死,除了你自己之外没有人可以责备。
当您是 SQL DBA 时,要执行您需要执行的所有操作,您需要管理员权限。不要吝啬——或者解雇你拥有的人并雇用一个你可以信任的人。那就别小气了。
@Jim B 在我曾在网络工程师工作过的大多数环境中,我都竭尽全力不允许我的工作站使用 SSMS 连接到 SQL Server。话虽这么说,在我作为 DBA 工作过的组织中,几乎总是数据库服务器上的本地管理员,因此我能够将 RDP 插入服务器,而无需在终端服务应用程序模式下运行服务器。
能够重新启动服务也很有帮助,即 SQL Server 相关服务。
本地管理员对 SQLServer 拥有完整的系统管理员权限(通过单用户模式),因此无法将 SQL SYSADMIN 功能与您委托具有本地管理权限的任何人分离。
你所能做的就是决定;
您希望系统管理员或 SQL DBA 完全控制您的 SQL Server?
如果您聘请了真正的 DBA(而不是 SQL 开发人员),他的培训和认证包括系统管理和安全性,而不仅仅是数据库管理。