在 SQL Server Agent 中執行 Windows PowerShell 步驟
使用 SQL Server Agent 在排程時間執行 SQL Server PowerShell 腳本。
開始之前: 限制和限制
若要從 SQL Server Agent 執行 PowerShell,請使用: PowerShell 作業步驟、 命令提示字元作業步驟
開始之前
SQL Server Agent 作業步驟有幾種類型。 每一種類型都與實作特定環境的子系統相關,例如複寫代理程式或命令提示字元環境。 您可以編寫 Windows PowerShell 指令碼,然後使用 SQL Server Agent 在排程時間執行的作業內包含這些指令碼,或是用來回應 SQL Server 事件。 Windows PowerShell 指令碼可透過使用命令提示字元作業步驟或 PowerShell 作業步驟加以執行。
使用 PowerShell 作業步驟讓 SQL Server Agent 子系統執行
sqlps
公用程式,以啟動 PowerShell 2.0 並匯入sqlps
模組。使用命令提示字元作業步驟來執行PowerShell.exe,並指定匯入模組的
sqlps
腳本。
限制事項
警告
使用模組執行 PowerShell sqlps
的每個 SQL Server Agent 作業步驟都會啟動一個耗用大約 20 MB 記憶體的進程。 執行大量的並行 Windows PowerShell 作業步驟可能會對效能造成負面影響。
建立 PowerShell 作業步驟
建立 PowerShell 作業步驟
展開 SQL Server Agent,建立新作業或以滑鼠右鍵按一下現有作業,然後按一下 [屬性] 。 如需建立作業的詳細資訊,請參閱< 建立作業>。
在 [作業屬性] 方塊中,按一下 [步驟] 頁面,然後按一下 [新增] 。
在 [新增作業步驟] 對話方塊中,輸入一個作業 步驟名稱。
在 [類型] 清單中,按一下 [PowerShell] 。
在 [執行身分] 清單中,選取具有作業將會使用之認證的 Proxy 帳戶。
在 [命令] 方塊中,輸入將為作業步驟執行的 PowerShell 指令碼語法。 或者,請按一下 [開啟舊檔] ,然後選取包含指令碼語法的檔案。
按一下 [進階] 頁面,設定下列作業步驟選項:作業步驟成功或失敗時要採取什麼動作、SQL Server Agent 應該嘗試執行作業步驟多少次,以及應該多久重試一次。
建立命令提示字元作業步驟
建立 CmdExec 作業步驟
展開 SQL Server Agent,建立新作業或以滑鼠右鍵按一下現有作業,然後按一下 [屬性] 。 如需建立作業的詳細資訊,請參閱< 建立作業>。
在 [作業屬性] 方塊中,按一下 [步驟] 頁面,然後按一下 [新增] 。
在 [新增作業步驟] 對話方塊中,輸入一個作業 步驟名稱。
在 [類型] 清單中,選擇 [作業系統 (CmdExec)] 。
在 [執行身分] 清單中,選取具有作業將會使用之認證的 Proxy 帳戶。 根據預設,CmdExec 作業步驟會以 SQL Server Agent 服務帳戶的身分執行。
在 [成功命令的處理序結束碼] 方塊中,輸入介於 0 到 999999 之間的值。
在 [ 命令 ] 方塊中,輸入powershell.exe,並指定要執行的PowerShell腳本。
按一下 [進階] 頁面來設定作業步驟選項,例如:作業步驟成功或失敗時要採取的動作、SQL Server Agent 應嘗試執行作業步驟的次數,以及可供 SQL Server Agent 寫入作業步驟輸出的檔案。 只有 系統管理員 (sysadmin) 固定伺服器角色的成員,可以將作業步驟輸出寫入作業系統檔案。