ActiveX スクリプト ジョブ ステップを作成する

適用対象:SQL Server

ActiveX サブシステムは SQL Server 2016 以降、廃止されています。 ActiveX スクリプトを使用する既存のジョブ ステップを PowerShell スクリプト ジョブ ステップに変換します。 今後の開発には PowerShell を使用してください。

重要

現在、Azure SQL Managed Instance によって、すべてではありませんが、ほとんどの SQL Server エージェントの機能がサポートされています。 詳細については、Azure SQL Managed Instance と SQL Server での相違点に関するページを参照してください。

このトピックでは、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクトを使用して、ActiveX スクリプトを実行する Microsoft SQL Server エージェント ジョブ ステップを SQL Server 2014 で作成および定義する方法について説明します。

開始する前に

制限事項と制約事項

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

セキュリティ

詳細については、「 SQL Server エージェントのセキュリティの実装」をご覧ください。

SQL Server Management Studio を使用します

ActiveX スクリプト ジョブ ステップを作成するには

  1. オブジェクト エクスプローラー で、 SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [SQL Server エージェント] を展開し、新しいジョブを作成するか、既存のジョブを右クリックして [プロパティ] をクリックします。 ジョブの作成の詳細については、「 ジョブの作成」を参照してください。

  3. [ジョブのプロパティ] ダイアログで [ステップ] ページをクリックし、 [新規作成] をクリックします。

  4. [新しいジョブ ステップ] ダイアログの [ステップ名] ボックスにジョブ ステップ名を入力します。

  5. [種類] ボックスの一覧で [ActiveX スクリプト]をクリックします。

  6. [実行するアカウント名] ボックスの一覧で、ジョブで使用する資格情報を備えたプロキシ アカウントをクリックします。

  7. [言語] でスクリプトを記述する言語を選択します。 または、[その他] をクリックして、スクリプトの記述に使用する Microsoft ActiveX スクリプティング言語の名前を入力します。

  8. [コマンド] ボックスに、ジョブ ステップで実行するスクリプト構文を入力します。 または、 [開く] をクリックしてスクリプト構文が記述されたファイルを選択します。

  9. [詳細設定] ページをクリックして、ジョブ ステップのオプションのうち、ジョブ ステップが成功または失敗した場合のアクション、 SQL Server エージェントによるジョブ ステップの再試行回数、および再試行間隔を設定します。

Transact-SQL の使用

ActiveX スクリプト ジョブ ステップを作成するには

  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 クラスを使用します。