本主題描述如何使用 SQL Server Management Studio、Microsoft Transact-SQL 或 SQL Server Management Objects,在 SQL Server 2014 中建立及定義使用可執行程式或作系統命令的 SQL Server Agent 作業步驟。
本主題內容
開始之前:
若要建立 CmdExec 作業步驟,請使用:
開始之前
安全
根據預設,只有 系統管理員 固定伺服器角色的成員才能建立 CmdExec 作業步驟。 除非 系統管理員 使用者建立 Proxy 帳戶,否則這些作業步驟會在 SQL Server Agent 服務帳戶的內容下執行。 用戶如果不是 系統管理員 角色的成員,但有 CmdExec 代理帳戶的存取權,則可以建立 CmdExec 作業步驟。
權限
如需進一步了解,請參閱第 節「實作 SQL Server Agent 安全性」。
使用 SQL Server Management Studio
若要建立 CmdExec 作業步驟
在 [物件瀏覽器] 中, 連接到 SQL Server Database Engine 的實例,然後展開該實例。
展開 SQL Server Agent,建立新的作業或以滑鼠右鍵點一下現有的作業,然後按一下 [屬性]。
在 [作業屬性] 對話框中,按一下 [步驟] 頁面,然後按一下 [新增]。
在 [新增作業步驟] 對話框中,輸入作業 步驟名稱。
在 [類型] 清單中,選擇 [作業系統 (CmdExec)]。
在 [作為 執行的列] 中,選擇作業將使用的代理帳戶和認證。 根據預設,CmdExec 作業步驟會在 SQL Server Agent 服務帳戶的內容下執行。
在 [成功命令] [處理結束代碼] 方塊中,輸入從 0 到 999999 的值。
在 [命令] 方塊中,輸入作系統命令或可執行程式。 如需範例,請參閱<使用 Transact T-SQL>。
單擊 [進階] 頁面來設定作業步驟選項,例如:作業步驟成功或失敗時要採取的動作、SQL Server Agent 應該嘗試執行作業步驟的次數,以及 SQL Server Agent 可以寫入作業步驟輸出的檔案。 只有 系統管理員 固定伺服器角色的成員才能將作業步驟輸出寫入作系統檔案。
使用 Transact-SQL
若要建立 CmdExec 作業步驟
在物件總管中,連線到資料庫引擎實例。
在標準列上,按一下 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。
-- creates a job step that uses CmdExec USE msdb; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Set database to read only', @subsystem = N'CMDEXEC', @command = C:\clickme_scripts\SQL11\PostBOLReorg GetHsX.exe', @retry_attempts = 5, @retry_interval = 5 ; GO
如需詳細資訊,請參閱 sp_add_jobstep (Transact-SQL)
使用 SQL Server 管理物件
若要建立 CmdExec 作業步驟
使用您選擇的程式設計語言來使用 類別 JobStep ,例如 Visual Basic、Visual C# 或 PowerShell。