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

使用網域帳號啟動 SQL Server 2008 Agent 服務完整步驟

     編輯:關於SqlServer

前言

預設情況下 SQL Server Agent 使用 Local System 帳號啟動。企業環境為了權限管控、稽核追蹤或跨伺服器存取 (如備份至網路磁碟),常需改用網域帳號。本文詳述依賴關係、權限原理與逐步設定畫面。

一、理解服務依賴與啟動原理

1. 服務依賴關係

SQL Server Agent 依賴 SQL Server (MSSQLSERVER) 服務。Agent 必須在 SQL Server 啟動後才能啟動。

服務依賴關係

2. 預設啟動帳號:Local System

預設登入帳號

Local System (NT AUTHORITY\SYSTEM) 為高權限內建帳號,具備本機完整控制權,並以電腦身分存取網路資源。

3. 為何 Local System 能啟動 Agent?

在 SQL Server 伺服器角色中,NT AUTHORITY\SYSTEM 內建為 sysadmin 固定伺服器角色成員。

sysadmin 角色成員

sysadmin:可在伺服器執行任何活動。預設 BUILTIN\Administrators (本地管理員群組) 亦為成員。

參考文件:固定伺服器角色 (MSDN)

二、設定網域帳號啟動 Agent 步驟

步驟 1:將網域帳號加入 sysadmin 角色

  1. 開啟 SSMS,連線至執行個體。
  2. 展開 安全性 → 伺服器角色 → sysadmin,右鍵選「屬性」。
  3. 點選「加入」,輸入網域帳號 (格式:DOMAIN\username),確定。

伺服器角色 sysadmin 屬性 加入登入 選取網域帳號

步驟 2:變更 SQL Server Agent 服務登入帳號

  1. 開啟 SQL Server Configuration Manager。
  2. 選取 SQL Server 服務,右鍵 SQL Server Agent → 屬性。
  3. 切換至 登入 索引標籤,選「這個帳號」,輸入網域帳號與密碼。
  4. 確定後,重新啟動 SQL Server Agent 服務。

Agent 登入索引標籤 輸入網域帳號密碼

三、驗證與常見問題

  • ✅ Agent 服務狀態顯示「執行中」,錯誤記錄無啟動失敗訊息。
  • ✅ 能正常執行排程工作、備份維護計畫。
  • ❌ 登入失敗:確認密碼正確、帳號未鎖定、密碼未過期。
  • ❌ 權限不足:網域帳號必須為 SQL 執行個體的 sysadmin;若需存取網路共享,帳號仍需具備該共享的 NTFS/共享權限。
  • ❌ SPN 問題:跨網域/負載平衡環境可能需註冊 SPN (setspn -A MSSQLSvc/hostname:port DOMAIN\account)。

四、相關參考文件

五、總結

核心邏輯:服務帳號 = 作業系統層級身分 → sysadmin 角色 = SQL Server 層級權限。兩者缺一不可。完成上述兩步驟,即可安全地以網域帳號運行 SQL Server Agent,滿足企業合規與自動化運維需求。

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