ホームページ >データベース >mysql チュートリアル >SQL Server を使用して複数のサーバーからデータを取得するにはどうすればよいですか?

SQL Server を使用して複数のサーバーからデータを取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-20 05:06:08664ブラウズ

How to Retrieve Data from Multiple Servers Using SQL Server?

複数の SQL Server にわたるデータへのアクセス: 包括的なガイド

問題:

単一のクエリを使用して、異なるサーバーにある複数の SQL Server データベースからデータを効率的に取得するにはどうすればよいですか?

解決策:

SQL Server のリンク サーバー機能を活用します。 これにより、リモート サーバーへの接続を作成し、ローカル サーバーであるかのようにデータベースにアクセスできるようになります。 その方法は次のとおりです:

リンクされたサーバー接続の作成

アプローチ 1: SQL Server Management Studio (SSMS) を使用する

  1. SSMS のオブジェクト エクスプローラーで [サーバー オブジェクト] を展開します。
  2. [リンク サーバー] を右クリックし、[新しいリンク サーバー] を選択します。
  3. 必要な詳細情報 (わかりやすいサーバー名、リモート サーバーのアドレス、適切な認証方法) を入力します。

アプローチ 2: sp_addlinkedserver ストアド プロシージャの使用

  1. 次のストアド プロシージャを実行し、プレースホルダーを実際の値に置き換えます。

    <code class="language-sql">EXEC sp_addlinkedserver @server_name = N'YourLinkedServerName',
                             @srvproduct = N'SQL Server',
                             @provider_name = N'SQLNCLI',
                             @data_source = N'YourServerAddress'</code>

リンクされたサーバーからのデータの取得

リンク サーバーのセットアップが正常に完了したら、サーバー間でデータをクエリできます。

<code class="language-sql">SELECT
    *
FROM
    YourLocalTable
INNER JOIN
    [YourLinkedServerName].[YourLinkedDatabase].[YourSchema].[YourRemoteTable] ON YourLocalTable.ID = YourRemoteTable.ID;</code>

重要な考慮事項: YourLinkedServerNameYourLinkedDatabaseYourSchemaYourLocalTableYourRemoteTable を必ず特定のサーバー名、データベース名、スキーマ名、テーブル名に置き換えてください。 。スキーマは「dbo」とは異なる場合があるため、リモート テーブルの正しいスキーマ名を確認してください。 適切な JOIN 句 (上記の INNER JOIN など) を使用することは、効率的なデータ取得にとって重要です。

以上がSQL Server を使用して複数のサーバーからデータを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。