Я запускаю Windows SQL Server в Docker-контейнере на виртуальной машине Windows Server 2016 с помощью этой команды:
docker container run --name mssql-server --detach --publish 1433:1433 --memory 2048mb --volume C:\_Data:C:\_Data --env sa_password=myPassword --env ACCEPT_EULA=Y microsoft/mssql-server-windows-developer
После этого я хочу запустить агент SQL с помощью этой команды:
docker container exec mssql-server cmd.exe /C "net start sqlserveragent"
К сожалению, я получаю этот вывод:
The SQL Server Agent (MSSQLSERVER) service is starting.
The SQL Server Agent (MSSQLSERVER) service could not be started.
The service did not report an error.
More help is available by typing NET HELPMSG 3534
Когда я печатаю NET HELPMSG 3534
, я получаю:
The service did not report an error.
У меня совершенно нет идей. На моей локальной машине это работает нормально, но не на сервере сборки.
Любая помощь приветствуется.
Редактировать :
Я открыл SQL Server Management Studio и заметил узел SQL Server Agent (Agent XPs disabled)
.
Итак, я прошел все в https://www.mssqltips.com/sqlservertip/2729/how-to-start-sql-server-agent-when-agent-xps-show-disabled/. После этого я выполнил
exec sp_configure 'Agent XPs'
и результат был:
Но когда я попытался запустить агент, я получил точно такое же сообщение об ошибке сверху (служба не запускается ... служба не может быть запущена ... об ошибке не сообщается).
Интересно, когда я запускаю
exec sp_configure 'Agent XPs'
снова, я получаю это:
Как это возможно, что команда start-agent отключает Agent XP?
Edit2 : я только что узнал из комментария на https://community.spiceworks.com/topic/293771-sql-server-agent-agent-xps-disabled-sql-server-2008, что агент настраивает эти значения автоматически, когда он запускается и останавливается. Поэтому я не должен включать его вручную.
Edit3:
После комментария от Jeroen Mostert я заглянул в EventLog.
Я использовал следующую команду:
docker container exec mssql-server powershell.exe "Get-EventLog Application -Newest 100"
Это результат журнала приложений
Time EntryType Source InstanceID Message
---- --------- ------ ---------- -------
Jun 25 10:37 Information SQLSERVERAGENT 1073741926 SQLServerAgent service successfully stopped.
Jun 25 10:37 Information MSSQLSERVER 1073757281 Configuration option 'Agent XPs' changed from 1 to 0. Run the RECONFIGURE statement to install.
Jun 25 10:36 Information MSSQLSERVER 1073757281 Configuration option 'Agent XPs' changed from 0 to 1. Run the RECONFIGURE statement to install.
Вы видите, что я вручную включил Agent XPs
. Затем я запустил команду сверху, чтобы запустить агент, который дал мне следующие две строки
System-EventLog дал мне:
Time EntryType Source InstanceID Message
---- --------- ------ ---------- -------
Jun 25 10:37 Information Service Control Manager 1073748860 The SQL Server Agent (MSSQLSERVER) service entered the stopped state.
Редактировать 4:
Согласно комментарию от Дана Гусмана: это содержание SQLAGENT.OUT
:
2019-07-09 11:03:44 - ? [000]
2019-07-09 11:03:44 - ? [098] SQLServerAgent terminated (normally)
Редактировать 5:
Версия (select @@version
):
Microsoft SQL Server 2017 (RTM-CU3-GDR) (KB4052987) - 14.0.3015.40 (X64) Dec 22 2017 16:13:22 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor)