我正在从我的iis到我的sql server进行双跃点kerberos身份验证,为此我需要SQLEXPRESS服务在域用户下运行。
域名:domain.test 服务用户:sqlSrv sql server计算机名:SQL
当我尝试启动服务时,这是我得到的错误:
Windows Could not start the SQL Server (SQLEXPRESS) on Local Computer.
For more information, review the System Event Log.
If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code 17058.
我在事件日志中看到的错误是:
initerrlog: Could not open error log file 'c:\Program Files\Microsoft SQL Server\MSSQ.1\MSSQL\LOG\ERRORLOG'.
Operating System error = 5 (Access is denied).
Source: MSSQL$SQLEXPRESS
Event ID: 17058
我已经设置了以下SPN:
setspn -L domain.test\sqlSrv
setspn -A SQLEXPRESS/SQL:1433 domain.test\sqlSrv
setspn -A SQLEXPRESS/SQL.domain.test:1433 domain.test\sqlSrv
答案 0 :(得分:1)
initerrlog: Could not open error log file 'c:\Program Files\Microsoft SQL Server\MSSQ.1\MSSQL\LOG\ERRORLOG'.
Operating System error = 5 (Access is denied).
显然,您刚刚更换了现有安装上的服务帐户。这是不支持。您需要使用所需的服务帐户从头开始安装服务。
虽然理论上你可以通过Configure Windows Service Accounts and Permissions并找出需要什么权限(实际上,弄清楚服务帐户需要成为哪个本地组),这会假设你知道到底是什么正在做。
通过这本书来做。安装该服务以使用所需的服务帐户。阅读并关注Install SQL Server 2014 from the Command Prompt。服务帐户安装命令行参数描述为here:
SQL Server数据库引擎:
- 服务帐户:
/SQLSVCACCOUNT
- 帐户密码:
/SQLSVCPASSWORD
答案 1 :(得分:0)
当我想启动sqlserver服务时遇到了这个问题。事件查看器显示了你提到的这条消息。我尽力设置权限但不幸的是它对我不起作用。问题与“ERROLOG”有关,大小约为1G,并且没有文件名,如“ ERRORLOG.1,ERROLLOG.2 ,..”,所以我在备份后删除了。问题消失了。 我希望它对你有用。