![MS SQL 代理因域帐户失败而无法重新启动 MSSQLSERVER 服务(2008R2 标准)](https://linux22.com/image/569788/MS%20SQL%20%E4%BB%A3%E7%90%86%E5%9B%A0%E5%9F%9F%E5%B8%90%E6%88%B7%E5%A4%B1%E8%B4%A5%E8%80%8C%E6%97%A0%E6%B3%95%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%20MSSQLSERVER%20%E6%9C%8D%E5%8A%A1%EF%BC%882008R2%20%E6%A0%87%E5%87%86%EF%BC%89.png)
最近有人要求我安装一台新的 SQL 服务器。由于没有这方面的经验,我当然对最佳实践做了大量研究。安装过程没有任何问题,但以下情况除外:
每:参考(许多其他来源也引用了同样的做法)
我安装了 MSSQL Server,并为代理和数据库服务设置了域服务帐户。启动时,两个服务均能正常启动。我设置了警报并决定对其进行测试。通过任务管理器终止 sqlservr.exe 后,代理无法重新启动服务。
查看日志我发现了这个错误:
[368] AutoRestart: Unable to restart the MSSQLSERVER service (reason: Access is denied)
重新启动 3 次失败后,SQL Agent 本身将关闭。
服务用户没有管理员权限,但根据我的研究,SQL 2008 R2 设计为以最低权限运行。我真的想避免授予代理本地管理员权限。
我假设(我知道)SQL 安装程序在安装时做了一些神奇的事情来使其工作。
目前最好的解决方案是修改 SDDL 概述这里
任何建议将不胜感激。
软件:
SQL Server 2008 R2 标准 MS Win2k8R2 数据中心 SP1
答案1
确保用户自己拥有数据库文件的所有权。