标签: service-accounts

SQL Server 服务帐户 Windows 特权和权限

我的问题是,如果为每个 SQL Server 进程创建一个新的域用户帐户,应该为每个帐户设置什么权限?或者 SQL 配置管理器是否真的处理了这个问题,而我只是遇到了一个无法预料的问题?

我经常不得不设置 Microsoft SQL Server,并想知道是否有人可以提供有关配置服务应作为运行的帐户的建议。IMO 这已经被微软模糊地记录了下来,虽然他们为你指明了正确的方向,但我从来没有找到任何具体的例子。

总结一下我到目前为止所看到的:

对于简单的部署\开发环境,可以使用安装程序使用的虚拟帐户默认值:例如 NT SERVICE\MSSQLSERVER

避免使用该SYSTEM帐户,这是不安全的。

对于生产环境和域环境,建议使用托管服务帐户,或为每个服务创建域用户帐户(而不是管理员)。据称,如果您在安装时使用域帐户,安装程序将为您设置任何所需的权限。

如果将现有安装上的服务帐户从虚拟帐户更改为域帐户,建议使用 SQL Server 配置管理器来设置新的服务帐户。据称,这将为您设置任何所需的权限。

我只是尝试将现有安装中的服务帐户更改为域帐户,但在我授予该帐户之前,它会使我登录失败 log on as service权限,这与 SQL Server 配置管理器将设置任何所需权限的部分相矛盾。(虽然我不确定 GPO 是否会干扰设置此本地安全策略)

Microsoft在此页面上提供了 SQL Server 安装程序授予的权限列表。

但是我不清楚这是否应该为我创建的用户手动执行以运行服务,或者使用 SQL 配置管理器是否应该自动设置这些权限。

SQL Server 2014,域控制器在 Windows Server 2008 R2 上。

sql-server configuration sql-server-2014 service-accounts

14
推荐指数
1
解决办法
5万
查看次数

运行所有 SQL Server 的单个服务帐户

对于在 35 台服务器的小型公司中运行的所有 SQL Server 实例,使用相同的服务帐户和代理帐户分别运行 SQL Server 和 SQL Agent 是否会对性能产生负面影响?最大的数据库是 0.5 GB。欢迎提出任何建议。谢谢你。

performance sql-server service-accounts

8
推荐指数
3
解决办法
2160
查看次数

查找 SQL Server 服务在哪个帐户下运行 BACKUP

我们的 DBA 不在,我正在尝试将我们的(远程)开发数据库备份到 UNC 路径。我在以特定的 Windows 域帐户(例如CORP\myUser)登录 Management Studio 时正在运行备份操作。我已经检查过此域帐户对 UNC 路径具有完全控制权限\\nameOfMachine\backup\

当我尝试执行以下操作时 CORP\myUser

BACKUP DATABASE [DEV] TO  DISK = N'\\nameOfMachine\backup\dev.bak' WITH COPY_ONLY, INIT;
Run Code Online (Sandbox Code Playgroud)

我收到错误

Cannot open backup device '\\nameOfMachine\backup\dev.bak'. 
Operating system error 5(Access is denied.).
Run Code Online (Sandbox Code Playgroud)

这似乎表明 SQL Server 用于运行备份命令的任何帐户都没有该 UNC 路径的权限。

我没有办法将 RDP 连接到开发数据库服务器并找出 SQL Server 使用哪个帐户来执行上面的备份命令。有没有办法使用例如动态管理视图从 Management Studio 中找出这一点?

sql-server backup permissions service-accounts

7
推荐指数
2
解决办法
1万
查看次数

在 AlwaysOn 可用性组中使用的服务凭据?

使用 AlwaysOn 可用性组时,每个 SQL 实例是否需要使用相同的服务凭据?

我们正在设置新的 SQL2014 部署,并将使用 AlwaysOn。如果我有 2 个 SQL 服务器(称为 ServerA 和 ServerB),那么我可以使用 2 个名为 Domain\ServerA_SQLServerService 和 Domain\ServerB_SQLServerService 的活动目录帐户(每个服务器上一个)吗?

或者他们是否需要使用相同的帐户,所以我应该创建 Domain\SQLServerService

这些帐户将在同一个域中,并且可以访问两台服务器。以前我们已经锁定了 SQL Server 服务帐户,这显然导致了问题。我想要做的是拥有 2 个帐户,以便减少两个帐户被锁定的可能性。

是否有要求和/或 Microsoft 的最佳实践是什么?

sql-server availability-groups sql-server-2014 service-accounts

5
推荐指数
1
解决办法
3625
查看次数

使用组托管服务帐户的 SQL 服务在重新启动后未启动

我们正在为我们的 SQL Server 2016 服务器使用组托管服务帐户。出于某种原因,当我们重新启动服务器时,服务没有启动,我们在事件查看器中看到了这一点:

由于以下错误,MSSQLSERVER 服务无法使用当前配置的密码作为 ds\gsaNQSQLRSNSVC$ 登录:指定的域不存在或无法联系。

然后我去 SSCM 并启动服务,它启动得很好。解决方法是使用自动(延迟启动)启动它。我不明白为什么它不会在重新启动时启动。有谁知道为什么会这样?

DC 是 Win 2016 服务器。服务器位于 AWS 中,并且它们位于同一 VPC、SQL Server 和 DC 中。

sql-server startup service-accounts

5
推荐指数
2
解决办法
2690
查看次数

SQL查询或列出所有正在运行的sql服务的方法

这可能是一个简单的问题,但我搜索了很多却找不到。

是否有 sql 查询或我可以在注册服务器上运行来查找所有正在运行的 sql 相关服务的列表,例如 ssis 、 ssas 、 ssrs 、 sql 、 agent 、 broswer 等...

尝试谷歌搜索并可以找到 sys.dm_server_services dmv 但它没有显示所有正在运行的服务

sql-server sql-server-2014 service-accounts

5
推荐指数
1
解决办法
4227
查看次数

SQL Server 服务帐户是否必须有权访问网络共享才能执行备份?

系统管理员为我提供了一个特定的域帐户来处理备份。我有点困惑,因为我过去从未获得过单独的域帐户来处理备份。我仍然想使用 Agent 来处理这个问题,所以认为他们正在考虑以下问题:

如果您在代理帐户下运行作业,则代理必须是域帐户。将该帐户添加到 sysadmin 服务器角色并授予它对目录和网络共享的完全控制权。

所以我已经完成了我认为上面描述的事情,我添加了域帐户作为登录名,我创建了一个凭证和代理,并且我将作业步骤创建为 CmdExec 以在代理下运行,但我仍然得到:

操作系统错误 5(访问被拒绝。)。

直到我授予对运行 SQL Server 服务的服务帐户的访问权限后,我才能备份到此网络共享。我还担心恢复,我想利用代理来处理清理任务并将文件随着时间的推移移动到各个目录。

所以我不确定这里发生了什么,但我认为服务帐户至少需要写访问权限?一位系统管理员说他知道有人将备份过程作为“单独的服务”进行,我不太明白,除非它像 ApexSQL 备份之类的东西......

sql-server backup permissions service-accounts

2
推荐指数
1
解决办法
952
查看次数

SQL Server 服务帐户配置 - 每台服务器一个帐户?

计划为我们的 Sql-Servers 重新创建新的服务帐户,我想知道 - 从安全角度来看 - 每个服务和每个服务器拥有一个域帐户或仅为每个服务创建一个域帐户并重复使用可能更好那些在不同的服务器上?

DOMAIN\Service-SSRS
DOMAIN\Service-SSAS
DOMAIN\Service-SSIS

vs.

DOMAIN\Service-SQL01-SSRS
DOMAIN\Service-SQL01-SSAS
DOMAIN\Service-SQL01-SSIS
DOMAIN\Service-SQL02-SSRS
DOMAIN\Service-SQL02-SSAS
DOMAIN\Service-SQL02-SSIS
etc.
Run Code Online (Sandbox Code Playgroud)

我们这样做是因为我们希望在所有服务器上都有一个统一和一致的配置,而今天还没有到位。我觉得每个服务器都有一个帐户可能会带来更大的灵活性,因此适得其反......

有什么具体的优点/缺点吗?为每台服务器设置单独的服务帐户是否有很多用途?

security sql-server configuration service-accounts sql-server-2016

1
推荐指数
1
解决办法
879
查看次数

是否应该设置一个帐户并仅用于安装 SQL Server?

我想遵循最佳实践。但是,创建一个新的服务帐户(具有最小访问权限且没有特殊权限)然后使用该帐户安装 SQL Server 是否太过分了?

如果我在管理员帐户下进行安装会有什么缺点吗?

旁注:我已经有单独的服务帐户来运行 SQL Server 引擎和 SQL Server 代理服务。

security sql-server installation configuration service-accounts

1
推荐指数
1
解决办法
287
查看次数