SQL Server 2014 SP2无法在Windows Docker上启动

时间:2017-10-02 01:41:59

标签: sql-server windows docker sql-server-2014 docker-windows

我想在Windows Docker上安装和使用SQL Server 2014 SP2。但是SQL Server服务无法启动。

重现的步骤:

  1. 下载" Microsoft SQL Server 2014 Service Pack 2(SP2)Express"英文版https://www.microsoft.com/en-US/download/details.aspx?id=53167
  2. 执行" SQLEXPR_x64_ENU.exe",解压缩到" SQLEXPR_x64_ENU"文件夹,并取消安装程序。
  3. 如下所示编写Dockerfile。
  4. 执行" docker build -t sample。"。
  5. 执行" docker run --name sample -i --rm sample"。
  6. 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"

0 个答案:

没有答案