這個 SQL Server 是部屬在 docker 中,docker image 是 mcr.microsoft.com/mssql/server:2022-latest ,在 SSMS(SQL Server Management Studio) 中查看 SQL Server Agent 顯示已停用:
要啟用 SQL Server Agent 要先執行以下指令:
回到 SSMS 中重新整理就會發現已經變成綠色的了,並沒有顯示「已停用」:
但是使用指令查詢 SQLServerAgent 的狀態還是 Stopped.
後來研究了半天才發現要去 docker 中下指令,先使用 root 身分進入 docker (這裡假設 docker 容器名稱為 sql-server):
將 sqlagent 服務設定為啟用:
重新啟動 docker 容器:
再次查詢就已經是 Running. 了
參考資料:
Microsoft.Learn - Start, Stop, or Pause the SQL Server Agent Service
Microsoft.Learn - Install SQL Server Agent on Linux
要啟用 SQL Server Agent 要先執行以下指令:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Agent XPs', 1;
GO
RECONFIGURE
GO
回到 SSMS 中重新整理就會發現已經變成綠色的了,並沒有顯示「已停用」:
但是使用指令查詢 SQLServerAgent 的狀態還是 Stopped.
EXEC xp_servicecontrol 'QUERYSTATE', 'SQLServerAgent';
後來研究了半天才發現要去 docker 中下指令,先使用 root 身分進入 docker (這裡假設 docker 容器名稱為 sql-server):
docker exec -it -u root sql-server bash
將 sqlagent 服務設定為啟用:
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
重新啟動 docker 容器:
docker restart sql-server
再次查詢就已經是 Running. 了
參考資料:
Microsoft.Learn - Start, Stop, or Pause the SQL Server Agent Service
Microsoft.Learn - Install SQL Server Agent on Linux
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com