共用方式為


建立 CmdExec 作業步驟

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

本主題內容

  • 開始之前: 

    安全性

  • 若要使用下列項目建立 CmdExec 作業步驟:

    SQL Server Management Studio

    Transact-SQL

    SQL Server 管理物件

開始之前

安全性

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

權限

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

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server Management Studio

若要建立 CmdExec 作業步驟

  1. [物件總管] 中,連接到 SQL Server Database Engine 的執行個體,然後展開該執行個體。

  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 (系統管理員) 固定伺服器角色的成員,才可將作業步驟輸出寫入至作業系統檔案。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 Transact-SQL

若要建立 CmdExec 作業步驟

  1. [物件總管] 中,連接到 Database Engine 的執行個體。

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

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

    -- creates a job step that 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)

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server 管理物件

若要建立 CmdExec 作業步驟

透過所選的程式語言,例如 Visual Basic、Visual C# 或 PowerShell,使用 JobStep 類別。 如需詳細資訊,請參閱<SQL Server 管理物件 (SMO)>。

搭配回到頁首連結使用的箭頭圖示[Top]