Heim >Datenbank >MySQL-Tutorial >Wie rufe ich mit SQL Server Daten von mehreren Servern ab?

Wie rufe ich mit SQL Server Daten von mehreren Servern ab?

Susan Sarandon
Susan SarandonOriginal
2025-01-20 05:06:08716Durchsuche

How to Retrieve Data from Multiple Servers Using SQL Server?

Zugriff auf Daten über mehrere SQL-Server hinweg: Ein umfassender Leitfaden

Problem:

Wie können Sie mit einer einzigen Abfrage effizient Daten aus mehreren SQL Server-Datenbanken abrufen, die sich auf verschiedenen Servern befinden?

Lösung:

Nutzen Sie die Verbindungsserver-Funktionalität von SQL Server. Dadurch können Sie eine Verbindung zu Remote-Servern herstellen und auf deren Datenbanken zugreifen, als wären diese lokal. So geht's:

Erstellen einer Verbindungsserververbindung

Ansatz 1: Verwendung von SQL Server Management Studio (SSMS)

  1. Erweitern Sie in SSMS „Serverobjekte“ im Objekt-Explorer.
  2. Klicken Sie mit der rechten Maustaste auf „Verknüpfte Server“ und wählen Sie „Neuer verknüpfter Server“ aus.
  3. Geben Sie die erforderlichen Details ein: einen beschreibenden Servernamen, die Adresse des Remote-Servers und die entsprechende Authentifizierungsmethode.

Ansatz 2: Verwendung der sp_addlinkedservergespeicherten Prozedur

  1. Führen Sie die folgende gespeicherte Prozedur aus und ersetzen Sie Platzhalter durch Ihre tatsächlichen Werte:

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

Abrufen von Daten von Verbindungsservern

Nach erfolgreicher Einrichtung des Verbindungsservers können Sie Daten serverübergreifend abfragen:

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

Wichtige Überlegung: Denken Sie daran, YourLinkedServerName, YourLinkedDatabase, YourSchema, YourLocalTable und YourRemoteTable durch Ihren spezifischen Servernamen, Datenbanknamen, Schemanamen und Tabellennamen zu ersetzen . Das Schema weicht möglicherweise von „dbo“ ab. Überprüfen Sie daher den korrekten Schemanamen für Ihre Remote-Tabelle. Die Verwendung einer geeigneten JOIN-Klausel (wie INNER JOIN oben gezeigt) ist für einen effizienten Datenabruf von entscheidender Bedeutung.

Das obige ist der detaillierte Inhalt vonWie rufe ich mit SQL Server Daten von mehreren Servern ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn