首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server Agent 服務管理實用技巧:啟停、自動啟動、常見故障排除

     編輯:關於SqlServer

SQL Server Agent 負責排程作業、警示、操作員通知,是自動化運維核心。本文提供透過 T-SQL 控制 Agent 服務、修改啟動模式、排除常見啟動異常的實用技巧。

1. T-SQL 啟動/停止 Agent 服務

-- 啟動
USE master; GO
EXEC xp_cmdshell 'net start SQLSERVERAGENT';

-- 停止
USE master; GO
EXEC xp_cmdshell 'net stop SQLSERVERAGENT';

亦可直接在命令提示字元執行 net start/stop SQLSERVERAGENT。

2. 將啟動模式從手動改為自動

EXEC xp_cmdshell 'sc config SQLSERVERAGENT start= auto';
-- 或使用 scm 工具(舊版相容)
EXEC xp_cmdshell 'scm -Action 7 -Service mssqlserver -SvcStartType 2';

注意: sc config 中 start= 後必須有空格。

3. 常見啟動異常與解決方案

錯誤 14258:當 SQLServerAgent 正在啟動時,無法執行此操作

現象: 服務顯示已啟動,但檢視作業屬性/歷程報錯 14258。

原因: 啟用「使用 Windows NT 纖程」選項導致。

解決: 企業管理器 → 右鍵 SQL 實例 → 內容 → 處理器 → 取消勾選「使用 Windows NT 纖程」 → 重啟 SQL Server 服務。

系統密碼變更導致服務無法啟動

現象: Agent 服務啟動失敗,事件日誌記錄登入失敗。

解決方案 A: 服務管理員 → MSSQLSERVER 內容 → 登入 → 選擇「本地系統帳戶」。

解決方案 B: 同路徑選擇「此帳戶」,輸入 Administrator 及新密碼。

4. 進階:查詢 Agent 狀態與作業資訊

-- 檢視 Agent 服務狀態
EXEC master.dbo.xp_servicecontrol 'QUERYSTATE', 'SQLSERVERAGENT';

-- 列出所有作業
EXEC msdb.dbo.sp_help_job;

-- 檢視作業歷程
EXEC msdb.dbo.sp_help_jobhistory;

最佳實務: 生產環境 Agent 應設為自動啟動、定期備份 msdb、啟用作業歷程清理作業避免日誌膨脹、監控 Agent 服務狀態納入基礎設施監控體系。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved