建立 CmdExec 作業步驟

適用於:SQL ServerAzure SQL 受控執行個體

重要

Azure SQL 受控執行個體目前支援多數 (但非全部) 的 SQL Server Agent 功能。 如需詳細資料,請參閱 Azure SQL 受控執行個體與 SQL Server 之間的 T-SQL 差異

本主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理物件,在 SQL Server 中建立及定義使用可執行程式或作業系統命令的 Microsoft SQL Server Agent 作業步驟。

開始之前

安全性

根據預設,只有 系統管理員 (sysadmin) 固定伺服器角色的成員可以建立 CmdExec 作業步驟。 這些作業步驟會以 SQL Server Agent 服務帳戶的身分執行,除非 系統管理員 (sysadmin) 使用者建立 Proxy 帳戶。 如果使用者不是 系統管理員 (sysadmin) 角色的成員,則必須能夠存取 CmdExec Proxy 帳戶,才能建立 CmdExec 作業步驟。

權限

如需詳細資訊,請參閱< 實作 SQL Server Agent 安全性>。

使用 SQL Server Management Studio

建立 CmdExec 作業步驟

  1. 在 [物件總管] 中,連線至 SQL Server 資料庫引擎的執行個體,然後展開該執行個體。

  2. 展開 SQL Server Agent,建立新作業或以滑鼠右鍵按一下現有作業,然後按一下 [屬性] 。

  3. [作業屬性] 方塊中,按一下 [步驟] 頁面,然後按一下 [新增]

  4. [新增作業步驟] 對話方塊中,輸入一個作業 步驟名稱

  5. 在 [類型] 清單中,選擇 [作業系統 (CmdExec)] 。

  6. [執行身分] 清單中,選取具有作業將會使用之認證的 Proxy 帳戶。 根據預設,CmdExec 作業步驟會以 SQL Server Agent 服務帳戶的身分執行。

  7. [成功命令的處理序結束碼] 方塊中,輸入介於 0 到 999999 之間的值。

  8. 在 [命令]方塊中,輸入作業系統命令或可執行的程式。 如需範例,請參閱<使用 Transact-SQL>。

  9. 按一下 [進階] 頁面來設定作業步驟選項,例如:作業步驟成功或失敗時要採取的動作、SQL Server Agent 應嘗試執行作業步驟的次數,以及可供 SQL Server Agent 寫入作業步驟輸出的檔案。 只有 系統管理員 (sysadmin) 固定伺服器角色的成員,可以將作業步驟輸出寫入作業系統檔案。

使用 TRANSACT-SQL

建立 CmdExec 作業步驟

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在標準列上,按一下 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行]

    -- 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 類別。