共用方式為


建立 ActiveX 指令碼作業步驟

適用於:SQL Server

從 SQL Server 2016 開始,已不再支援 ActiveX 子系統。 將使用 ActiveX Script 的任何現有作業步驟轉換成 PowerShell 指令碼作業步驟。 使用 PowerShell 進行任何未來的開發。

重要

Azure SQL 受控執行個體目前支援多數 (但非全部) 的 SQL Server Agent 功能。 如需詳細資料,請參閱來自 SQL Server 的 Azure SQL 受控執行個體 \(部分機器翻譯\)。

此主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理物件,在執行 ActiveX 指令碼的 SQL Server 2014 與舊版中建立和定義 Microsoft SQL Server Agent 作業步驟。

開始之前

限制事項

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

安全性

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

使用 SQL Server Management Studio

若要建立 ActiveX 指令碼作業步驟

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

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

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

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

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

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

  7. 選取當初撰寫指令碼所用的 [語言] 。 或者,按一下 [其他],然後輸入將用來撰寫指令碼的 Microsoft ActiveX 指令碼語言名稱。

  8. [命令] 方塊中,輸入將為作業步驟執行的指令碼語法。 或者,請按一下 [開啟舊檔] ,然後選取包含指令碼語法的檔案。

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

使用 TRANSACT-SQL

若要建立 ActiveX Script 作業步驟

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

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

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

    -- create an ActiveX Script job step written in VBScript that creates a restore point  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Create a restore point',  
        @subsystem = N'ACTIVESCRIPTING',  
        @command = N'Const RESTORE_POINT = 20  
    
    strComputer = "."  
    Set objWMIService = GetObject("winmgmts:" _  
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default")  
    
    Set objItem = objWMIService.Get("SystemRestore")  
    errResults = objItem.Restore(RESTORE_POINT)',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

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

使用 SQL Server 管理物件

若要建立 ActiveX 指令碼作業步驟

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