O SQL Server 2014 SP2 não inicia no Windows Docker

2

Eu quero instalar e usar o SQL Server 2014 SP2 no Windows Docker. Mas o serviço do SQL Server não é iniciado.

Etapas para reproduzir:

  1. Baixar "Microsoft SQL Server 2014 Service Pack 2 (SP2) Express" versão em inglês de link .
  2. Execute o "SQLEXPR_x64_ENU.exe", extraia para a pasta "SQLEXPR_x64_ENU" e cancele o instalador.
  3. Escreva o Dockerfile como abaixo.
  4. Execute "amostra docker build -t".
  5. Execute "docker run --name sample -i --rm sample".

Dockerfile:

FROM microsoft/windowsservercore
MAINTAINER [email protected]
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" ]

O ambiente do host é o Windows 10 Creators Update.

O arquivo de log (C: \ Arquivos de Programas \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ Log \ ERRORLOG) mostra algumas mensagens de erro:

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.

Se eu passar "NT AUTHORITY \ System" para a opção "/ SQLSVCACCOUNT", o serviço do servidor SQL será iniciado corretamente. Mas eu quero usar "NT Service \ MSSQLSERVER" por razões de segurança. Como posso usar o SQL Server 2014 SP2 com "NT Service \ MSSQLSERVER"?

Atualização: 2017/10/02 14:44 JST Se eu passar "NT Service \ MSSQLSERVER" - > Se eu passar "NT AUTHORITY \ System"

    
por nodchip 29.09.2017 / 11:49

0 respostas