出于安全原因,我们希望每天更改启动 SQL Server 服务的密码。是否可以在不重新启动服务的情况下执行此操作?
如果有可能,更改会立即应用,还是我最终需要重新启动服务以获取新密码?
我们正在考虑在 Windows 操作系统的服务选项中而不是在 SQL Server 配置管理器中进行此更改。
出于安全原因,我们希望每天更改启动 SQL Server 服务的密码。是否可以在不重新启动服务的情况下执行此操作?
如果有可能,更改会立即应用,还是我最终需要重新启动服务以获取新密码?
我们正在考虑在 Windows 操作系统的服务选项中而不是在 SQL Server 配置管理器中进行此更改。
我意识到这可能超出了您的控制范围,但值得一提的是,这对于安全性来说不是一个好主意。这对您的组织来说是一个很高的流程开销(即使它通常以某种方式自动化),并且可能会导致某种密码泄露的可能性增加。
可以这样想:每次打开银行金库时,都有恶意的人进入的风险。您是愿意每天打开保险库并更换锁,还是偶尔打开它并在其上保留一个非常大的锁(长而安全的密码)。
每天访问密码(更改密码,然后将其应用到服务帐户)是这样的。您应该使用非常安全的密码而不是经常更改密码。
但是,如果您需要这样做 - 为什么不想使用 SQL Server 配置管理器?这是每个文档的推荐方法:
SQL Server 配置管理器 - 更改服务使用的帐户
重点是我加的。因此,在服务之外执行此操作可能会导致数据库引擎出现可靠性问题。
关于避免重新启动,使用配置管理器也可以实现此目标:
当然,正如其他答案所提到的,您应该被允许不时重新启动服务(Windows 更新等)。
为什么sql server服务每天都重启?就在重启服务之前,可以使用 dbatools - Update-DbaServiceAccount来更新sql server服务账号的密码。
例如下面将服务 MSSQL$MYINSTANCE 的当前服务帐户密码更改为 'Qwerty1234'
我最初不会通过组托管服务帐户,具体取决于您正在处理的问题和环境。
我不确定您遇到的 sql 版本和安全问题的类型,但根据以前的经验,对 sql server 服务和代理帐户的权限在重新启动服务后会生效。
我宁愿尽可能使用 sql server 配置管理器
如果您担心安全性,您最明确地需要能够重新启动此服务,如果这是不可能的,那么您的环境要求配置一个良好的可用性组,因此您始终在线,因为您需要牢记您需要定期修补服务器,并且大部分时间都需要重新启动。
请检查是什么阻止您重新启动并与管理层一起解决。