我在 Windows 容器上自动安装 SQL Server。这是我的安装命令:
c:\setup.exe /q /ACTION=Install /INSTANCENAME=MSSQLSERVER /FEATURES=SQLEngine /UPDATEENABLED=0 /SQLSVCACCOUNT='NT AUTHORITY\Network Service' /SQLSYSADMINACCOUNTS='BUILTIN\ADMINISTRATORS' /TCPENABLED=1 /NPENABLED=0 /IACCEPTSQLSERVERLICENSETERMS
我在 C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Log\ Summary.txt 中收到错误0x851A001A 。
所以我尝试了 SQLSVCACCOUNT='NT AUTHORITY\Network Service' 和 SQLSVCACCOUNT='NT AUTHORITY\SYSTEM'。两者都以同样的方式失败。
尽管错误 SQL Server 服务将实际安装,所以我尝试从 powershell 手动启动:
Start-Service SQLSERVERAGENT
那个命令失败了。看来我的 Docker 容器帐户没有启动服务的权限。Docker 容器中的 whoami 命令将我的用户显示为“Manager\ContainerAdministrator”
设置 SQLSVCACCOUNT="Manager\ContainerAdministrator" 甚至不会安装 SQL Server。
请注意,使用相同的安装文件和安装命令,SQL Server 将在 VMWare 机器上正确安装。只有在 Docker 上安装时,我才会看到此错误。
有没有办法强制启动 SQL Server 服务?以管理员身份运行 powershell 并没有解决问题。我的 Docker 容器凭据是否与我安装 SQL Server 时使用的凭据不同步?
可能相关的问题: https ://github.com/Microsoft/mssql-docker/issues/279