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

SQL Server Agent 服務管理實用技巧:啟停、自動啟動、常見錯誤排查

     編輯:關於SqlServer

SQL Server Agent 是排程作業、警示、複寫的核心服務。本文整理透過 T-SQL 控制服務啟停、設定自動啟動、排查「錯誤 14258」與密碼變更導致啟動失敗的實用技巧,幫助 DBA 快速恢復 Agent 可用性。

一、T-SQL 啟動/停止 Agent 服務

需啟用 xp_cmdshell(sp_configure 'show advanced options',1; RECONFIGURE; sp_configure 'xp_cmdshell',1; RECONFIGURE;)。

-- 啟動
USE MASTER; GO
EXEC XP_CMDSHELL 'NET START SQLSERVERAGENT';

-- 停止
USE MASTER; GO
EXEC XP_CMDSHELL 'NET STOP SQLSERVERAGENT';

二、將服務啟動類型改為自動

EXEC XP_CMDSHELL 'SC CONFIG SQLSERVERAGENT START= AUTO';
-- 或使用 scm 工具(舊版相容)
EXEC XP_CMDSHELL 'SCM -Action 7 -Service SQLSERVERAGENT -SvcStartType 2';

亦可在「服務」管理工具 (services.msc) 圖形介面設定。

三、常見啟動異常排查

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

可能原因:啟用了「使用 Windows 纖程」(Lightweight Pooling)。

解決:

  1. SSMS 右鍵執行個體 → 「屬性」→ 「處理器」→ 取消勾選「使用 Windows 纖程」。
  2. 重新啟動 SQL Server 服務(MSSQLSERVER)。

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

方案 A:改用本地系統帳戶

  1. services.msc → 右鍵「SQL Server (MSSQLSERVER)」→ 「屬性」→ 「登入」→ 選「本地系統帳戶」。

方案 B:更新指定帳號密碼

  1. 同「登入」頁籤 → 選「此帳戶」→ 輸入 Administrator 或專用服務帳號與新密碼。
  2. 確定後重啟服務。

⚠️ 建議使用專用低權限網域服務帳號(非 Administrator),遵循最小權限原則。

四、Agent 服務健康檢查清單

檢查項目命令/位置預期結果
服務狀態services.msc / SC QUERY SQLSERVERAGENTRUNNING
啟動類型services.msc / SC QC SQLSERVERAGENTAUTO_START
服務帳號services.msc → 登入頁籤專用網域帳號,密碼正確
錯誤記錄SSMS → 管理 → SQL Server Agent → 錯誤記錄無反覆錯誤
作業歷程SSMS → Agent → 作業 → 檢視歷程排程作業正常執行

五、進階:使用 PowerShell 遠端管理

# 需啟用 WinRM 並具備權限
Invoke-Command -ComputerName SQL01 -ScriptBlock {
    Restart-Service SQLSERVERAGENT -Force
    Set-Service SQLSERVERAGENT -StartupType Automatic
}

適合納入自動化部署/維運腳本。

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