建立 CmdExec 作業步驟
重要
在 Azure SQL 受控實例上,目前支援大部分但並非所有 SQL Server Agent 功能。 如需詳細資訊,請參閱 與 SQL Server 的 Azure SQL 受控實例 T-SQL 差異。
本主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理物件,在 SQL Server 中建立和定義 Microsoft SQL Server Agent 作業步驟,該步驟使用可執行程式或作業系統命令。
開始之前
安全
根據預設,只有 系統管理員 固定伺服器角色的成員才能建立 CmdExec 作業步驟。 除非 系統管理員 使用者建立 Proxy 帳戶,否則這些作業步驟會在 SQL Server Agent 服務帳戶的內容下執行。 用戶如果不是 系統管理員 角色的成員,但有 CmdExec 代理帳戶的存取權,則可以建立 CmdExec 作業步驟。
權限
如需詳細資訊,請參閱 實作 SQL Server Agent 安全性。
使用 SQL Server Management Studio
若要建立 CmdExec 作業步驟
在 [物件總管](Object Explorer)中, 連線到 SQL Server 資料庫引擎的實例,然後展開該實例。
展開 SQL Server Agent,建立新的作業或以滑鼠右鍵點擊現有的作業,然後按下 [屬性]。
在 [作業屬性] 對話框中,按一下 [步驟] 頁面,然後按一下 [新增]。
在 [新增作業步驟] 對話框中,輸入作業 步驟名稱。
在 [類型] 清單中,選擇 [作業系統 (CmdExec)]。
在 [作為 執行的列] 中,選擇作業將使用的代理帳戶和認證。 根據預設,CmdExec 作業步驟會在 SQL Server Agent 服務帳戶的內容下執行。
在 [成功命令] [處理結束代碼] 方塊中,輸入從 0 到 999999 的值。
在 [命令] 方塊中,輸入作系統命令或可執行程式。 如需範例,請參閱<使用 Transact T-SQL>。
單擊 [進階] 頁面來設定作業步驟選項,例如:作業步驟成功或失敗時要採取的動作、SQL Server Agent 應該嘗試執行作業步驟的次數,以及 SQL Server Agent 可以寫入作業步驟輸出的檔案。 只有 系統管理員 固定伺服器角色的成員才能將作業步驟輸出寫入作系統檔案。
使用 Transact-SQL
若要建立 CmdExec 作業步驟
在 對象總管中,連接到Database Engine的實例。
在 [標準] 列上,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按下 [執行] 。
-- 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 作業步驟
使用您選擇的程式設計語言,例如 Visual Basic、Visual C# 或 PowerShell,使用 JobStep 類別。