SQLShack (Deutsch)

Verknüpfte Server ermöglichen das Senden einer T-SQL-Anweisung auf einer SQL Server-Instanz, die Daten von anderen SQL Server-Instanzen zurückgibt. Ein verknüpfter Server ermöglicht das Verknüpfen von Daten aus mehreren SQL Server-Instanzen mithilfe einer einzelnen T-SQL-Anweisung, wenn Daten in mehreren Datenbanken auf verschiedenen SQL-Instanzen vorhanden sind. Durch die Verwendung eines verknüpften Servers zum Abrufen von Daten von mehreren SQL-Instanzen sollte nur eine Verbindung zu einer SQL-Instanz hergestellt werden.,

Es gibt zwei Möglichkeiten, verknüpfte Server in SSMS zu konfigurieren. Eine Möglichkeit besteht in der Verwendung der gespeicherten Prozedur sp_addlinkedserver System und eine andere in der Verwendung der GUI-Schnittstelle SQL Server Management Studio (SSMS).

In diesem Artikel wird erläutert, wie Sie einen verknüpften Server mithilfe einer SQL Server-Datenquelle konfigurieren. Weitere Informationen zu anderen Datenquellen finden Sie unter diesem Link.,

Um alle erstellten verknüpften Server in SSMS anzuzeigen, wählen Sie unter Object Explorer den Ordner Server Objects und erweitern Sie den Ordner Linked Servers:

Um einen verknüpften Server in SSMS zu erstellen, klicken Sie mit der rechten Maustaste auf den Ordner Linked Servers und wählen Sie im Kontextmenü die Option New Linked Server:

Serverdialog erscheint:

In diesem Dialog müssen der Name eines verknüpften Servers und der Servertyp identifiziert werden., Die verknüpften Server können für eine andere Art von Datenquelle definiert werden, wenn das Optionsfeld Andere Datenquelle ausgewählt ist. Für die Zwecke dieses Artikels wird das SQL Server-Optionsfeld im Abschnitt Servertyp ausgewählt und im Textfeld Verknüpfter Server wird ein Name des Servers eingegeben:

Wenn der SQL Server-Typ zum Konfigurieren eines verknüpften SQL Server-Servers ausgewählt wird, muss der im Textfeld Verknüpfter Server angegebene Name der Name des entfernten SQL Servers sein.,

Wenn eine SQL Server-Instanz Standardinstanz ist, geben Sie den Namen des Computers ein, auf dem die Instanz von SQL Server gehostet wird (z. B. WSERVER2012). Wenn der SQL Server eine benannte Instanz ist, geben Sie den Namen des Computers und den durch Schrägstrich getrennten Namen der Instanz ein (z. B. WSERVER2012\SQLEXPRESS).,

Andernfalls kann der folgende Fehler auftreten, wenn die OK-Taste gedrückt wird:

Um festzulegen, wie sich ein Benutzer bei der WSERVER2012\SQLEXPRESS-Instanz authentifizieren würde, wählen Sie im Abschnitt Seite auswählen in der oberen linken Ecke des Dialogs Neuer verknüpfter Server das Sicherheitselement aus:

Hier, verschiedene Möglichkeiten zur Authentifizierung des verknüpften Servers können eingestellt werden.

Unter der lokalen Serveranmeldung an Remote-Serveranmeldezuordnungen können zwei Möglichkeiten der lokalen Anmeldung an eine Remote-Anmeldung festgelegt werden., Eine Möglichkeit besteht darin, eine lokale Anmeldung mit einer Remote-Anmeldung zu verknüpfen, und eine andere Möglichkeit besteht darin, sich auszugeben.

Lokale Anmeldung

Im Feld Lokale Anmeldung werden alle lokalen Anmeldungen aufgelistet. Die lokale Anmeldung kann eine lokale SQL Server-Authentifizierung sein:

Oder eine Windows-Authentifizierungs-Anmeldung:

Wenn Sie nun im Dialogfeld Neuer verknüpfter Server auf die Schaltfläche OK klicken, wird die folgende Fehlermeldung angezeigt:

Die Anmeldung zuordnungen sollten sich entweder als Identitätswechsel ausgeben oder einen Remote-Anmeldenamen haben.,

Siehe Bild unten:

Dies geschieht, weil das Kontrollkästchen Identitätswechsel nicht aktiviert ist.

Identitätswechsel

Wenn das Kontrollkästchen Identitätswechsel aktiviert ist, werden die lokalen Anmeldeinformationen an den verknüpften Server übergeben., Für die SQL Server-Authentifizierung muss dieselbe Anmeldung mit den genauen Anmeldeinformationen auf dem verknüpften Server vorhanden sein, andernfalls kann die Liste der Datenbanken im Ordner „Kataloge“ bei Verbindung mit dem Server mit der SQL Server-Authentifizierung folgendermaßen aussehen:

Für Windows-Anmeldungen muss die Anmeldung eine gültige Anmeldung auf dem verknüpften Server sein. Um den Identitätswechsel zu verwenden, muss die Delegierung zwischen dem lokalen Server und dem verknüpften Server festgelegt werden.

Erstellen wir einen verknüpften Server mit der lokalen Windows-Anmeldung., Wählen Sie im Kombinationsfeld Lokale Anmeldung die lokale Windows-Anmeldung aus, aktivieren Sie das Kontrollkästchen Identitätswechsel und drücken Sie die OK-Taste:

Unter dem Ordner Catalogs werden alle Datenbanken aufgelistet, die sich auf dem verknüpften Server befinden:

Remote User

Die Option remote user erlaubt Benutzern vom lokalen SQL Server um eine Verbindung zum verknüpften SQL Server herzustellen, obwohl ihre Anmeldeinformationen nicht auf dem Remote-Server vorhanden sind, verwenden Sie die Anmeldeinformationen des Benutzers, der auf dem Remote-Server vorhanden ist., Grundsätzlich können lokale Anmeldungen eine Verbindung zu einem Remote-Server herstellen, da eine andere Anmeldung auf einem Remote-Server vorhanden sein muss.

Remote-Passwort

Geben Sie das Passwort des Remote-Benutzers an.

Wählen Sie in der Dropdown-Liste Lokale Anmeldung eine lokale Anmeldung aus, die einer Remote-Anmeldung zugeordnet werden soll. Geben Sie im Feld Remotebenutzer den Namen des Remotebenutzers ein, der auf dem Remoteserver vorhanden ist, und geben Sie im Feld Remotekennwort ein Kennwort dieses Remotebenutzers ein.,e7″>

Zusätzlich kann im Dialog Linked Server festgestellt werden, wie Anmeldungen, die nicht in der Liste Local server login to remote server login mappings festgelegt sind, eine Verbindung zum verknüpften Server herstellen, dafür gibt es vier Optionen, die verwendet werden können und sie befinden sich unter der Für eine Anmeldung, die nicht in der obigen Liste definiert ist, werden Verbindungen hergestellt:

Wenn dieses Optionsfeld wird ausgewählt, alle Benutzer, die in der Liste Lokale Serveranmeldung an Remoteserver-Anmeldezuordnungen nicht identifiziert wurden, können keine Verbindung zum verknüpften Server herstellen.,

Wenn Sie sich beispielsweise mit einem anderen Konto anmelden (z. B. Ben), das nicht in der Anmeldezuordnungsliste festgelegt ist, sieht die Liste der Datenbanken im Ordner Kataloge folgendermaßen aus:

Wenn Sie versuchen, eine verknüpfte Serverabfrage auszuführen:

div>

1
2
3
SELECT * FROM .AdventureWorks2014.Humanressourcen.,Mitarbeiter e

Das folgende Ergebnis wird angezeigt:

Msg 7416, Ebene 16, Status 1, Zeile 1
Zugriff auf den Remoteserver wird verweigert, da keine login-mapping existiert.

gemacht Werden, ohne mit einem security-context

Die gemacht Werden, ohne mit einem security-context-option ist verwendet für die Verbindung zu Datenquellen, die nicht die eine Authentifizierung erfordern, wie zum Beispiel eine text-Datei., Wenn diese Option für die Verbindung mit einem verknüpften Server ausgewählt ist, hat dies den gleichen Effekt wie die Auswahl der Option „Nicht erstellt“.

Wenn Sie versuchen, eine verknüpfte Serverabfrage auszuführen:

1
2
3

SELECT * FROM .AdventureWorks2014.Humanressourcen.,Employee e

The following message e may appear:

OLE DB provider „SQLNCLI11” for linked server „WSERVER2012\SQLEXPRESS” returned message „Invalid authorization specification”.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider „SQLNCLI11” for linked server „WSERVER2012\SQLEXPRESS” reported an error. Authentication failed.,
Msg 7303, Level 16, Status 1, Zeile 1

Das Datenquellenobjekt des OLE-DB-Anbieters“ SQLNCLI11 „für den verknüpften Server“WSERVER2012\SQLEXPRESS“ kann nicht initialisiert werden.

Erfolgt über den aktuellen Sicherheitskontext der Anmeldung

Wenn diese Option gewählt wird, wird der aktuelle Sicherheitskontext der lokalen Anmeldung an die Remote-Anmeldung übergeben. Wenn die Windows-Authentifizierung verwendet wird, werden die Windows-Anmeldeinformationen verwendet, um eine Verbindung zu einem Remote-SQL-Server herzustellen. Wenn die SQL Server-Authentifizierung verwendet wird, werden die lokalen Anmeldeinformationen an den entfernten SQL Server übergeben., Hinweis: Um erfolgreich eine Verbindung zum Remote-Server herzustellen, muss der Benutzer mit genau denselben Anmeldeinformationen auf dem Remote-Server vorhanden sein, andernfalls wird eine verknüpfte Serverabfrage ausgeführt:

1
2
3

SELECT * FROM .AdventureWorks2014.Humanressourcen.,Mitarbeiter e

Die folgende Meldung wird angezeigt:

Msg 18456, Ebene 14, Status 1, Zeile 1
Login failed for user ‚Ben‘.

mit Hilfe dieser security-context

Die vierte option unter den Für einen login nicht definiert in der Liste oben, verbindungen Abschnitt ist mit diesem Sicherheitskontext., Geben Sie in den Feldern Remote Login und mit Passwort die Anmeldeinformationen der SQL Server-Authentifizierungs-Anmeldung ein, die auf einem Remote-Server vorhanden sind, andernfalls kann der folgende Fehler auftreten:

Das letzte Element im Menü Seite auswählen ist das Element Serveroptionen. Wenn Sie diese Option auswählen, wird das folgende Fenster angezeigt:

Hier können zusätzliche Optionen für den verknüpften Server angezeigt oder festgelegt werden.

Sortierkompatibel

Die erste Option ist die Sortierkompatibeloption., Diese Option wird verwendet, um festzustellen, ob der verknüpfte Server dieselbe Sortierung wie der lokale Server hat. Diese Option sollte nur dann auf True gesetzt werden, wenn bekannt ist, dass der verknüpfte Server dieselbe Sortierung wie die lokale hat, andernfalls sollte sie auf False gesetzt werden (Standard).

Datenzugriff

Diese Option wird verwendet, um den Zugriff auf die verknüpften Serverdaten zuzulassen/zu verweigern. Wenn diese Option auf False gesetzt ist, wird der Zugriff auf Remote verweigert. Diese option ist nützlich, um den Zugriff auf einen remote-server zeitlich., Die folgende Meldung wird angezeigt, wenn eine verknüpfte Serverabfrage ausgeführt wird und diese Option auf False gesetzt ist:

Msg 7411, Level 16, Status 1, Zeile 1
Server ‚WSERVER2012\SQLEXPRESS‘ ist nicht für den DATENZUGRIFF konfiguriert.

Standardmäßig ist die Option auf True gesetzt

RPC und RCP Out

Dieser RCP (Remote Procedure Call) wird verwendet, um den Zugriff auf Remote-Prozeduren zu ermöglichen, die vom verknüpften Server aufgerufen oder an den verknüpften Server aufgerufen werden sollen.,

Wenn diese Optionen auf False gesetzt sind, wird der folgende Fehler angezeigt, wenn einige Prozeduren vom verknüpften Server aufgerufen werden:

Msg 7411, Level 16, Status 1, Zeile 4
Server ‚WSERVER2012\SQLEXPRESS‘ ist nicht für RPC konfiguriert.,

Standardmäßig wird der falsche Wert für die RPC-und RCP-Out-Optionen festgelegt

Remote Collation verwenden

Wenn diese Option auf True gesetzt ist, wird die Sammlung von Remote-Spalten verwendet und die im Sortiernamen angegebene Sammlung wird für Datenquellen verwendet, bei denen es sich nicht um SQL Server-Datenquellen handelt, aber wenn die Option auf False gesetzt ist, wird die Sortierung für den lokalen Server verwendet. Standardmäßig ist auf False gesetzt.,

Sortiername

Wenn die Option Remote-Sortierung verwenden auf True gesetzt ist, wird mit dieser Option der Sortiername des verknüpften Servers für die Datenquelle angegeben, die keine SQL Server-Datenquelle ist. Wenn Sie einen Sortiernamen auswählen, muss es sich um eine Sortierung handeln, die SQL Server unterstützt.

Verbindungszeitlimit

Mit dieser Option wird die maximale Zeit festgelegt, auf die der lokale Server warten soll, um eine Verbindung zur SQL Server-Instanz des verknüpften Servers herzustellen. Wenn 0 (Null) gesetzt ist, wird die Serveroption Remote Login Timeout verwendet. Standardmäßig ist für diese Option 10 Sekunden eingestellt., Beachten Sie, dass der Standardwert für SQL Server 2008 20 Sekunden beträgt.

Query Timeout

Mit dieser Option wird festgelegt, wie lange ein Remote-Prozess in Sekunden dauern kann, bevor die Zeit abgelaufen ist. Der Standardwert ist 600 Sekunden (10 Minuten). Um das Abfragetimeout zu deaktivieren, geben Sie 0 (Null) in dieses Feld ein, und die Abfrage wartet, bis sie abgeschlossen ist.

Verteiler

In dieser Option kann angegeben werden, ob der verknüpfte Server als Distributionshersteller an der Replikation teilnimmt.,

Der Verteiler ist eine Datenbankinstanz, die als Speicher für replikationsspezifische Daten fungiert, die einem oder mehreren Publishern zugeordnet sind

Publisher

In dieser Option kann festgelegt werden, ob der verknüpfte Server ein Replikationsher sein soll oder nicht. Wenn True, ist der verknüpfte Server ein Publisher. Ansonsten ist es nicht.

Der Publisher ist eine Datenbankinstanz, die Daten durch Replikation anderen Speicherorten zur Verfügung stellt.

Subscriber

In dieser Option kann angegeben werden, ob der verknüpfte Server Replikationsteilnehmer ist oder nicht.,

Ein Teilnehmer ist eine Datenbankinstanz, die replizierte Daten empfängt.

Weitere Informationen zu Distributor, Publisher, Subscriber finden Sie auf der Seite Replication Publishing Model Overview.

Lazy schema validation

Diese Option prüft Schemaänderungen, die seit der Kompilierung in den Remote-Tabellen aufgetreten sind. Wenn diese Option auf False (Standardstatus) gesetzt ist, überprüft SQL Server Änderungen vor der Ausführung einer Abfrage und kompiliert die Abfrage neu., Wenn die Lazy Schema Validation auf True gesetzt ist, überprüft ein SQL Server Delay Schema die Remote-Tabellen bis zur Ausführung der Abfrage.

Förderung verteilter Transaktionen aktivieren

Diese Option wird verwendet, um die Aktionen einer Server-zu-Server-Prozedur über eine Microsoft Distributed Transaction Coordinator (MS DTC) – Transaktion zu schützen. Wenn diese Option auf True gesetzt ist, startet eine Remote stored Procedure eine verteilte Transaktion und meldet die Transaktion mit MS DTC an.

Wenn jetzt alles eingestellt ist, klicken Sie im Dialogfeld Neuer verknüpfter Server auf die Schaltfläche OK., Ein neu erstellter verknüpfter Server wird unter dem Ordner Verknüpfter Server angezeigt.,rks richtig, gehen Sie mit der rechten Maustaste auf diesen verknüpften Server und wählen Sie Verbindung testen:

Wenn eine Verbindung mit dem verknüpften Server erfolgreich hergestellt wurde, wird das folgende Infobox angezeigt:

Andernfalls wird eine Fehlermeldung angezeigt, die ein Problem anzeigt, das den erfolgreichen Verbindungsaufbau verhindert:

Das Abfragen von Daten mit einem verknüpften Server

Das Abfragen von Daten mit dem verknüpften Server unterscheidet sich geringfügig vom Abfragen von Daten vom lokalen SQL Server., In den normalen Abfragen wird normalerweise die zweiteilige Notation verwendet . zum Beispiel Humanressourcen.Mitarbeiter:

1
2
3

SELECT * FROM HumanResources.

Bei der Abfrage einer Tabelle von einem verknüpften Server wird die vierte Teilnotation verwendet LinkedServer.Datenbank.Schema.Objektname., Um Daten aus der Employee-Tabelle, die befindet sich in einer Datenbank auf dem Verbindungsserver, die Abfrage-code wird wie folgt Aussehen:

1
2
3

SELECT * FROM …,

Löschen eines verknüpften Servers

Um einen verknüpften Server zu löschen, klicken Sie im Ordner Verknüpfte Server mit der rechten Maustaste auf den verknüpften Server und wählen Sie im Kontextmenü den Befehl Löschen:

Dadurch wird das Löschobjekt dialog:

Klicken Sie auf die Schaltfläche OK und wählen Sie im Meldungsfeld die Schaltfläche Ja:

Wenn alles gut läuft, wird der verknüpfte Server aus dem Ordner „Verknüpfte Server“ entfernt., Server linked server using Transact-SQL

  • So fragen Sie Excel-Daten mit SQL Server linked servers ab
  • So konfigurieren Sie einen verknüpften Server mithilfe des ODBC-Treibers
  • So erstellen Sie einen verknüpften Server mit einer Azure SQL-Datenbank
    • Author
    • Aktuelle Beiträge
    Marko alias „Zivko“ ist ein Senior Software Analyst von Nis, Serbien mit Schwerpunkt auf SQL Server und MySQL sowie Client-Technologien wie SSMS, Visual Studio und VSCode., Er verfügt über umfangreiche Erfahrung mit Qualitätssicherung, Problemeskalation/ – lösung und Produktevangelisierung.
    Er ist ein produktiver Autor von maßgeblichen Inhalten im Zusammenhang mit SQL Server, einschließlich einer Reihe von „Platin“ Artikel (Top 1% in Bezug auf Popularität und Engagement). Sein Schreiben deckt eine Reihe von Themen zu MySQL und SQL Server ab, darunter Remote / Linked Server, Import / Export, LocalDB, SSMS und mehr.
    In seiner Teilzeit mag Zivko Basketball, Tischfußball und Rockmusik.,
    Mehr über Marko auf LinkedIn
    Alle Beiträge von Marko Zivkovic anzeigen

    Neueste Beiträge von Marko Zivkovic (alle anzeigen)
    • So stellen Sie eine Verbindung zu einem Remote – MySQL – Server her, indem Sie SSL unter Ubuntu verwenden – 28. November 2019

    Share

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.