共用方式為


Create a PowerShell Script Job Step

適用於:SQL Server Azure SQL 受控執行個體

重要

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

本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,以在 SQL Server 中建立和定義可執行 PowerShell 指令碼的 SQL Server Agent 工作步驟。

開始之前

安全性

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

我們會持續聽取您的意見: 如果您發現本文中有過時或不正確的內容 (例如步驟或程式碼範例),請告訴我們。 您可以按一下此頁面底部 [意見反應] 區段中的 [本頁] 按鈕。 我們通常會在隔天閱讀有關 SQL 的每一項意見反應。 謝謝。

使用 SQL Server Management Studio

建立 PowerShell 指令碼作業步驟

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

  2. 展開 SQL Server Agent,建立新作業或以滑鼠右鍵按一下現有作業,然後按一下 [屬性] 。 如需建立作業的詳細資訊,請參閱< 建立作業>。

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

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

  5. [類型] 清單中,按一下 [PowerShell]

  6. [執行身分] 清單中,選取具有作業將會使用之認證的 Proxy 帳戶。

  7. [命令] 方塊中,輸入將為作業步驟執行的 PowerShell 指令碼語法。 或者,請按一下 [開啟舊檔] ,然後選取包含指令碼語法的檔案。 如需 PowerShell 指令碼範例,請參閱下面的 使用 Transact-SQL

  8. 按一下 [進階] 頁面,以設定下列工作步驟選項:工作步驟成功或失敗時要採取什麼動作、SQL Server Agent 應該嘗試執行工作步驟多少次,以及應該多久重試一次。

使用 TRANSACT-SQL

建立 PowerShell 指令碼作業步驟

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

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

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

    -- creates a PowerShell job step that finds the processes
    -- that use more than 1000 MB of memory and kills them  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Kills all processes that use more than 1000 MB of memory',  
        @subsystem = N'PowerShell',  
        @command = N'Get-Process | Where-Object { $_.WS -gt 1000MB } | Stop-Process',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

如需詳細資訊,請參閱 sp_add_jobstep (Transact-SQL)

使用 SQL Server 管理物件

建立 PowerShell 指令碼作業步驟

透過所選的程式語言,例如 Visual Basic、Visual C# 或 PowerShell,使用 JobStep 類別。