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 封裝亦然。
請參閱