ターゲット サーバーの作成

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL Managed Instance

重要

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

このトピックでは、SQL Server で、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクト (SMO) を使用して、ターゲット サーバーを作成する方法について説明します。

はじめに

セキュリティ

プロキシに関連付けられているステップがある分散ジョブは、ターゲット サーバーのプロキシ アカウントのコンテキストで実行されます。 次の条件を満たしていることを確認してください。満たしていないと、プロキシに関連付けられているジョブ ステップがマスター サーバーから対象サーバーにダウンロードされません。

  • マスター サーバー レジストリのサブキー \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<*instance_name*>\SQL Server Agent\AllowDownloadedJobsToMatchProxyName (REG_DWORD) が 1 (true) に設定されていること。 既定では、この値は 0 (false) に設定されます。

  • ジョブ ステップを実行するマスター サーバー プロキシ アカウントと同じ名前を持つターゲット サーバーにプロキシ アカウントが存在すること。

マスター サーバーからターゲット サーバーにプロキシ アカウントをダウンロード中に、これらのアカウントを使用するジョブ ステップが失敗した場合は、msdb データベースの sysdownloadlist テーブルの error_message 列を参照して、以下のエラー メッセージの有無を確認します。

  • "ジョブ ステップではプロキシ アカウントが必要ですが、ターゲット サーバーで一致するプロキシが無効です。"

    このエラーを解決するには、 AllowDownloadedJobsToMatchProxyName レジストリ サブキーを 1 に設定します。

  • "プロキシ アカウントが見つかりませんでした。"

    このエラーを解決するには、ターゲット サーバー上にプロキシ アカウントが存在し、ジョブ ステップを実行するマスター サーバー プロキシ アカウントと同じ名前が付けられているかどうかを確認します。

アクセス許可

このプロシージャの実行権限は、既定では sysadmin 固定サーバー ロールのメンバーに与えられています。

SQL Server Management Studio の使用

ターゲット サーバーを作成するには

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

  2. [SQL Server エージェント] を右クリックし、 [マルチ サーバーの管理] をポイントして、 [対象サーバーに設定] をクリックします。 ターゲット サーバー設定ウィザード を使用して、ターゲット サーバーを設定します。

  3. [マスター サーバーの選択] ページで、このターゲット サーバーが受け取るジョブの送信元のマスター サーバーを選択します。

    [サーバーの選択]
    マスター サーバーに接続します。

    [このサーバーの説明]
    このターゲット サーバーの説明を入力します。 この説明はターゲット サーバーからマスター サーバーにアップロードされます。

  4. [マスター サーバー ログインの資格情報] ページで、必要に応じてターゲット サーバーに新しいログインを作成します。

    [必要に応じて新しいログインを作成し、MSX へのアクセス権を割り当てる]
    指定されたログインが存在しない場合に、新しいログインをターゲット サーバーに作成します。

Transact-SQL の使用

ターゲット サーバーを作成するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、現在のサーバーを AdventureWorks1 マスター サーバーに追加します。 現在のサーバーの場所は、Building 21 の Room 309 の Rack 5 です。

    USE msdb ;  
    GO  
    
    EXEC dbo.sp_msx_enlist N'AdventureWorks1',   
        N'Building 21, Room 309, Rack 5' ;   
    GO
    

    詳細については、「 sp_msx_enlist (Transact-SQL)」を参照してください。

参照

エンタープライズ全体の管理の自動化