最近有人要求我安装一台新的 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
确保用户自己拥有数据库文件的所有权。