Make a Master Server

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

重要

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

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、マスター サーバー SQL Server を作成する方法について説明します。

はじめに

セキュリティ

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

  • マスター サーバー レジストリのサブキー \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. [マスター サーバー オペレーター] ページで、マスター サーバーのオペレーターを設定します。電子メールまたはポケットベルを使用してオペレーターに通知を送信するには、電子メールが送信されるように SQL Server エージェントを設定しておく必要があります。 net send を使用してオペレーターに通知を送信するには、 SQL Server エージェントが置かれているサーバーで Messenger サービスが実行されている必要があります。

    [電子メール アドレス]
    オペレーターの電子メール アドレスを設定します。

    [ポケットベル アドレス]
    オペレーターのポケットベル メール アドレスを設定します。

    [Net Send アドレス]
    オペレーターの net send アドレスを設定します。

  4. [ターゲット サーバー] ページで、マスター サーバーのターゲット サーバーを選択します。

    [登録済みサーバー]
    Microsoft SQL Server Management Studio に登録されているサーバーで、まだターゲット サーバーになっていないものを一覧表示します。

    [ターゲット サーバー]
    ターゲット サーバーであるサーバーを一覧表示します。

    >
    選択したサーバーをターゲット サーバーの一覧に移動します。

    >>
    すべてのサーバーをターゲット サーバーの一覧に移動します。

    <
    選択したサーバーをターゲット サーバーの一覧から削除します。

    <<
    すべてのサーバーをターゲット サーバーの一覧から削除します。

    [接続の追加]
    サーバーを登録せずにターゲット サーバーの一覧に追加します。

    接続
    選択したサーバーの接続プロパティを変更します。

  5. [マスター サーバー ログインの資格情報] ページで、必要に応じてターゲット サーバーの新しいログインを作成してマスター サーバーへの権利を割り当てるかどうかを指定します。

    [必要に応じて新しいログインを作成し、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)」を参照してください。

参照