我想在Windows Docker上安装和使用SQL Server 2014 SP2。但是SQL Server服务无法启动。
重现的步骤:
Dockerfile:
FROM microsoft/windowsservercore
MAINTAINER someone@example.com
COPY SQLEXPR_x64_ENU C:/SQLEXPR_x64_ENU/
WORKDIR C:/SQLEXPR_x64_ENU/
RUN SETUP.EXE /q /ACTION=Install /INSTANCENAME=MSSQLSERVER /FEATURES=SQLEngine /UPDATEENABLED=0 /SQLSVCACCOUNT="NT Service\MSSQLSERVER" /SQLSYSADMINACCOUNTS="foobar" /TCPENABLED=1 /NPENABLED=0 /IACCEPTSQLSERVERLICENSETERMS
CMD [ "powershell" ]
主机环境是Windows 10 Creators Update。
日志文件(C:\ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ Log \ ERRORLOG)显示一些错误消息:
2017-09-29 18:47:24.31 spid15s Error: 17182, Severity: 16, State: 1.
2017-09-29 18:47:24.31 spid15s TDSSNIClient initialization failed with error 0x5, status code 0x51. Reason: Unable to configure MDAC-compatibility Named Pipes protocol pipe name in registry. Access is denied.
2017-09-29 18:47:24.31 spid15s Error: 17182, Severity: 16, State: 1.
2017-09-29 18:47:24.31 spid15s TDSSNIClient initialization failed with error 0x5, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. Access is denied.
2017-09-29 18:47:24.31 spid15s Error: 17826, Severity: 18, State: 3.
2017-09-29 18:47:24.31 spid15s Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2017-09-29 18:47:24.31 spid15s Error: 17120, Severity: 16, State: 1.
2017-09-29 18:47:24.31 spid15s SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
如果我将"NT AUTHORITY\System"
传递给" /SQLSVCACCOUNT
"选项,SQL Server服务正确启动。但我想使用" NT Service \ MSSQLSERVER"出于安全原因。如何将SQL Server 2014 SP2用于" NT服务\ MSSQLSERVER"?
更新:2017/10/02 14:43 JST 如果我通过"NT Service\MSSQLSERVER"
- >如果我通过"NT AUTHORITY\System"