共用方式為


SQL Server Agent 子系統

「子系統」(Subsystem) 是一個預先定義的物件,代表 SQL Server Agent Proxy 可用的功能集。每個 Proxy 都具有一或多個子系統的存取權。子系統可提供安全性,因為它們會將 Proxy 可用的功能存取加以分隔。每種作業步驟都可在 Proxy 的內容中執行,除了 Transact-SQL 作業步驟以外;Transact-SQL 作業步驟使用 EXECUTE AS 命令來設定安全性內容。

[!附註]

從 SQL Server 2000 升級之後,在升級前存在的所有使用者 Proxy 帳戶都會變更為暫存全域 Proxy 帳戶 UpgradedProxyAccount。UpgradedProxyAccount 只會被授與對明確使用之子系統的存取權限,升級後並不會有所有子系統的存取權限。

SQL Server 定義了下表所列的子系統:

子系統名稱

描述

Microsoft ActiveX Script

執行 ActiveX Scripting 作業步驟。

重要注意事項重要事項
ActiveX Scripting 子系統將從 MicrosoftSQL Server 未來版本的 SQL Server Agent 中移除。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

作業系統 (CmdExec)

執行可執行的程式。

PowerShell

執行 PowerShell 指令碼作業步驟。

複寫散發者

執行可啟動複寫「散發代理程式」的作業步驟。

複寫合併

執行可啟動複寫「合併代理程式」的作業步驟。

複寫佇列讀取器

執行可啟動複寫「佇列讀取器代理程式」的作業步驟。

複寫快照

執行可啟動複寫「快照代理程式」的作業步驟。

複寫交易記錄讀取器

執行可啟動複寫「記錄讀取器代理程式」的作業步驟。

Analysis Services 命令

執行 Analysis Services 命令。

Analysis Services 查詢

執行 Analysis Services 查詢。

SSIS 封裝執行

執行 SSIS 封裝。

[!附註]

由於 Transact-SQL 作業步驟不使用 Proxy,因此沒有 Transact-SQL 作業步驟適用的 SQL Server Agent 子系統。

SQL Server Agent 會強制執行子系統限制,即使 Proxy 的安全性主體通常具有可執行作業步驟中工作的權限,亦是如此。例如,屬於系統管理員 (sysadmin) 固定伺服器角色成員之使用者的 Proxy,若沒有 SSIS 子系統的存取權,即無法執行 SSIS 作業步驟,即使使用者可執行 SSIS 封裝亦然。