ターゲット サーバーの作成
適用対象 SQL Server
重要
現在、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 を使用する
ターゲット サーバーを作成するには
オブジェクト エクスプローラーで、Microsoft SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[SQL Server エージェント]を右クリックし、 [マルチ サーバーの管理]をポイントして、 [対象サーバーに設定]をクリックします。 ターゲット サーバー設定ウィザードを使用して、ターゲット サーバーを設定します。
[マスター サーバーの選択] ページで、このターゲット サーバーが受け取るジョブの送信元のマスター サーバーを選択します。
[サーバーの選択]
マスター サーバーに接続します。[このサーバーの説明]
このターゲット サーバーの説明を入力します。 この説明はターゲット サーバーからマスター サーバーにアップロードされます。[マスター サーバー ログインの資格情報] ページで、必要に応じてターゲット サーバーに新しいログインを作成します。
[必要に応じて新しいログインを作成し、MSX へのアクセス権を割り当てる]
指定されたログインが存在しない場合に、新しいログインをターゲット サーバーに作成します。
Transact-SQL の使用
ターゲット サーバーを作成するには
データベース エンジンに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、現在のサーバーを 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)」を参照してください。