Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
Mit verknüpften Servern kann das SQL Server-Datenbankmodul und die von Azure SQL verwaltete Instanz Daten aus Remotedatenquellen lesen und Befehle für Remotedatenbankserver (z. B. OLE DB-Datenquellen) außerhalb der SQL Server-Instanz ausführen. In der Regel konfigurieren Sie verknüpfte Server, damit das Datenbankmodul eine Transact-SQL-Anweisung ausführen kann, die Tabellen in einer anderen Instanz von SQL Server oder ein anderes Datenbankprodukt wie Oracle enthält. Sie können viele Arten von OLE DB-Datenquellen als verknüpfte Server konfigurieren, darunter Datenbankanbieter von Drittanbietern und Azure Cosmos DB.
Hinweis
Verbindungsserver stehen in SQL Server und in Azure SQL Managed Instance (mit einigen Einschränkungen) zur Verfügung. Verknüpfte Server sind in der Azure SQL-Datenbank nicht verfügbar.
Wann sollten Verbindungsserver verwendet werden?
Verbindungsserver ermöglichen das Implementieren verteilter Datenbanken, die Daten in anderen Datenbanken abrufen und aktualisieren können. Verwenden Sie verknüpfte Server in Szenarien, in denen Sie Datenbanksharding implementieren müssen, ohne benutzerdefinierten Anwendungscode zu erstellen oder direkt aus Remotedatenquellen zu laden. Verbindungsserver bieten die folgenden Vorteile:
Die Fähigkeit, auf Daten von außerhalb des SQL Servers zuzugreifen.
Die Fähigkeit, verteilte Abfragen, Updates, Befehle und Transaktionen auf heterogenen Datenquellen im gesamten Unternehmen auszugeben.
Die Möglichkeit, verschiedene Datenquellen ähnlich zu adressieren.
Ein Verbindungsserver kann mit SQL Server Management Studio oder mit der Anweisung sp_addlinkedserver konfiguriert werden. OLE DB-Anbieter variieren stark in Hinblick auf Typ und Anzahl der erforderlichen Parameter. Bei manchen Anbietern müssen Sie beispielsweise über sp_addlinkedsrvlogin einen Sicherheitskontext für die Verbindung bereitstellen. Einige OLE DB-Anbieter ermöglichen es dem SQL Server, Daten in der OLE DB-Quelle zu aktualisieren. Andere Anbieter stellen nur schreibgeschützten Datenzugriff bereit. Informationen zu den einzelnen OLE DB-Anbietern finden Sie in der jeweiligen Dokumentation des OLE DB-Anbieters.
Verbindungsserverkomponenten
Eine Verbindungsserverdefinition gibt die folgenden Objekte an:
Einen OLE DB-Anbieter.
Eine OLE DB-Datenquelle.
Ein OLE DB-Anbieter ist eine DLL (Dynamic Link Library), die mit einer bestimmten Datenquelle interagiert und sie verwaltet. Eine OLE DB-Datenquelle identifiziert die spezifische Datenbank, auf die Sie über OLE DB zugreifen können. Obwohl es sich bei Datenquellen, die über Verbindungsserverdefinitionen abgefragt werden, normalerweise um Datenbanken handelt, sind OLE DB-Anbieter für eine Vielzahl von Dateien und Dateiformaten verfügbar. Diese Dateien umfassen Klartext, Tabellenkalkulationsdaten und die Ergebnisse von Volltextsuchen.
Ab SQL Server 2019 (15.x) ist der Microsoft OLE DB-Treiber für SQL Server (PROGID: MSOLEDBSQL) der standardmäßige OLE DB-Anbieter. In früheren Versionen war der SQL Server Native Client (PROGID: SQLNCLI11) der standardmäßige OLE DB-Anbieter.
Wichtig
Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Sowohl der OLE DB-Anbieter für den SQL Server Native Client (SQLNCLI oder SQLNCLI11) als auch der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für Neuentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL).
Microsoft unterstützt verknüpfte Server zu Excel- und Access-Quellen nur, wenn Sie den 32-Bit-Anbieter Microsoft.JET.OLEDB.4.0 OLE DB verwenden.
Hinweis
Verteilte SQL Server-Abfragen funktionieren mit jedem OLE DB-Anbieter, der die erforderlichen OLE DB-Schnittstellen implementiert. Getestet wurde SQL Server jedoch für den OLE DB-Standardanbieter.
Einzelheiten zu Verbindungsservern
Die folgende Abbildung zeigt die Grundlagen einer Verbindungsserverkonfiguration.
In der Regel verwenden Sie verknüpfte Server, um verteilte Abfragen zu verarbeiten. Führt eine Clientanwendung eine verteilte Abfrage über einen Verbindungsserver aus, analysiert SQL Server den Befehl und sendet Anforderungen an OLE DB. Für eine Rowsetanforderung kann eine Abfrage für den Anbieter ausgeführt oder eine Basistabelle vom Anbieter geöffnet werden.
Damit eine Datenquelle Daten über einen Verbindungsserver zurückgibt, muss der OLE DB-Anbieter (DLL) für diese Datenquelle auf demselben Server wie die SQL Server-Instanz vorhanden sein.
Verbindungsserver unterstützen bei der vollständigen Delegierung die Passthrough-Authentifizierung von Active Directory. Ab SQL Server 2017 (14.x) CU17 wird auch die Pass-Through-Authentifizierung mit eingeschränkter Delegierung unterstützt; Ressourcenbasierte eingeschränkte Delegierung wird jedoch nicht unterstützt.
Wichtig
Wenn Sie einen OLE DB-Anbieter verwenden, muss das Konto, unter dem der SQL Server-Dienst ausgeführt wird, Über Lese- und Ausführungsberechtigungen für das Verzeichnis und alle Unterverzeichnisse verfügen, in denen der Anbieter installiert ist. Diese Anforderung gilt für von Microsoft freigegebene Anbieter und alle Drittanbieter.
Verwalten von Anbietern
Eine Gruppe von Optionen steuert, wie SQL Server OLE DB-Anbieter lädt und verwendet, die in der Registrierung angegeben werden.
Verwalten von Verbindungsserverdefinitionen
Registrieren Sie beim Einrichten eines verknüpften Servers die Verbindungsinformationen und Datenquelleninformationen mit SQL Server. Nachdem sie registriert wurde, können Sie auf diese Datenquelle mit einem einzigen logischen Namen verweisen.
Verwenden Sie gespeicherte Prozeduren und Katalogansichten, um verknüpfte Serverdefinitionen zu verwalten:
Erstellen Sie eine Verbindungsserverdefinition, indem Sie
sp_addlinkedserverausführen.Zeigen Sie Informationen zu den in einer bestimmten Instanz von SQL Server definierten Verbindungsservern an, indem Sie eine Abfrage der
sys.servers-Systemkatalogsicht ausführen.Löschen Sie eine Verbindungsserverdefinition, indem Sie
sp_dropserverausführen. Sie können mit dieser gespeicherten Prozedur auch einen Remoteserver entfernen.
Sie können Verbindungsserver auch mit SQL Server Management Studio definieren. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf Serverobjekte, wählen Sie "Neu" aus, und wählen Sie "Verknüpfter Server" aus. Sie können eine Verbindungsserverdefinition löschen, indem Sie mit der rechten Maustaste auf den Namen des Verbindungsservers und dann auf Löschenklicken.
Wenn Sie eine verteilte Abfrage auf einem Verbindungsserver ausführen, sollten Sie einen vollqualifizierten vierteiligen Tabellennamen für jede Datenquelle einschließen, die abgefragt werden soll. Dieser vierteilige Name sollte in der Form <linked_server_name>.<catalog>.<schema>.<object_name> stehen.
Verweise auf temporäre Objekte werden wo zutreffend immer auf die lokalen Instanzen tempdb aufgelöst, auch wenn dem Servernamen des verbundenen Servers vorangestellt.
Sie können verknüpfte Server erstellen, die auf den Server zurückverweisen, auf dem Sie sie definiert haben (Schleifenrücklauf). Loopbackserver sind sehr nützlich, um eine Anwendung, von der verteilte Abfragen verwendet werden, in einem Netzwerk mit einem einzelnen Server zu testen. Loopback-verknüpfte Server sind für Tests vorgesehen und werden für viele Vorgänge, z. B. verteilte Transaktionen, nicht unterstützt.
Verbindungsserver mit Azure SQL Managed Instance
Verknüpfte Server der azure SQL-verwalteten Instanz unterstützen sowohl die SQL-Authentifizierung als auch die Authentifizierung mit Microsoft Entra ID.
Um mithilfe von SQL-Agent-Aufträgen in Azure SQL Managed Instance einen Remoteserver über einen Verbindungsserver abzufragen, erstellen Sie mit sp_addlinkedsrvlogin eine Zuordnung von einer Anmeldung auf dem lokalen Server zu einer Anmeldung auf dem Remoteserver. Wenn der SQL-Agent-Auftrag über den Verbindungsserver eine Verbindung mit dem Remoteserver herstellt, wird die T-SQL-Abfrage im Kontext der entfernten Anmeldung ausgeführt. Weitere Informationen finden Sie unter SQL-Agent-Aufträge mit Azure SQL Managed Instance.
Microsoft Entra-Authentifizierung
Zwei unterstützte Microsoft Entra-Authentifizierungsmodi sind: verwaltete Identität und Passthrough. Verwenden Sie die verwaltete Identitätsauthentifizierung, um lokalen Anmeldungen das Abfragen von remote verknüpften Servern zu ermöglichen. Verwenden Sie die Pass-Through-Authentifizierung, um einen Prinzipal zuzulassen, der sich mit einer lokalen Instanz authentifizieren kann, um über einen verknüpften Server auf eine Remoteinstanz zuzugreifen.
Um die Passthrough-Authentifizierung von Microsoft Entra für einen Verbindungsserver in Azure SQL Managed Instance zu nutzen, müssen folgende Voraussetzungen gegeben sein:
- Derselbe Prinzipal wird als Anmeldung auf dem Remoteserver hinzugefügt.
- Beide Instanzen sind Mitglieder der SQL-Vertrauensgruppe.
Hinweis
Vorhandene Definitionen von verknüpften Servern, die Sie für den Pass-Through-Modus konfiguriert haben, unterstützen die Microsoft Entra-Authentifizierung. Die einzige Anforderung besteht darin, der Serververtrauensgruppe SQL Managed Instance hinzuzufügen.
Die folgenden Einschränkungen gelten für die Microsoft Entra-Authentifizierung für Verbindungsserver in Azure SQL Managed Instance:
- Die Microsoft Entra-Authentifizierung wird für verwaltete Instanzen von SQL in verschiedenen Microsoft Entra-Mandanten nicht unterstützt.
- Die Microsoft Entra-Authentifizierung für Verbindungsserver wird nur mit der OLE DB-Treiberversion 18.2.1 und höher unterstützt.
SQL Server 2025 und MSOLEDBSQL, Version 19
Ab SQL Server 2025 (17.x) verwendet der MSOLEDBSQL-Anbieter standardmäßig Microsoft OLE DB Driver 19. Dieser aktualisierte Treiber führt erhebliche Sicherheitsverbesserungen ein, einschließlich der Unterstützung für TDS 8.0 und TLS 1.3.
TDS 8.0 verbessert die Sicherheit durch Hinzufügen einer neuen Verschlüsselungsoption und führt zu einer wichtigen Änderung: Der Encryption Parameter ist nicht mehr optional. Sie müssen sie in Ihrer Verbindungszeichenfolge festlegen, wenn sie auf eine andere SQL Server-Instanz ausgerichtet ist.
Hinweis
Ohne den Encrypt-Parameter verwenden verknüpfte Server in SQL Server 2025 (17.x) standardmäßig Encrypt=Mandatory und benötigen ein gültiges Zertifikat. Verbindungen ohne gültiges Zertifikat schlagen fehl.
Der Encryption Parameter bietet drei verschiedene Einstellungen:
-
Yesoder , oderTrueMandatory -
Nooder , oderFalseOptional Strict
Die Strict Option erfordert die Verwendung von TDS 8.0 und erfordert ein Serverzertifikat für sichere Verbindungen. Für Yes/True/Mandatory, ein vertrauenswürdiges Zertifikat wird erwartet. Sie können keine selbstsignierten Zertifikate verwenden.
| OLE DB-Version | Verschlüsselungsparameter | Mögliche Werte | Standardwert |
|---|---|---|---|
| OLE DB 18 | Wahlfrei |
Trueoder , Mandatory oder FalseNo |
No |
| OLE DB 19 | Required |
Nooder , False oder YesMandatory, Strict (neu) |
Yes |
Der TrustServerCertificate Parameter wird unterstützt, wird jedoch nicht empfohlen. Das Festlegen des Trust Server-Zertifikats zum Yes Deaktivieren der Zertifikatüberprüfung und schwächt die Sicherheit verschlüsselter Verbindungen. Um das Trust Server-Zertifikat zu verwenden, muss der Client es auch in der Computerregistrierung aktivieren. Informationen zum Aktivieren des Trust Server-Zertifikats finden Sie unter Registrierungseinstellungen. Einstellung TrustServerCertificate=Yes wird für Produktionsumgebungen nicht empfohlen.
Wenn Sie folgendes verwenden Encrypt=False oder Encrypt=Optional:
- Es ist kein Zertifikat erforderlich.
- Wenn ein vertrauenswürdiges Zertifikat bereitgestellt wird, überprüft der Treiber es nicht.
- Die Verbindung stellt keine Verschlüsselung bereit.
Wenn Sie verwenden Encrypt=True oder Encrypt=Mandatory, und nicht verwenden TrustServerCertificate=Yes:
- Für die Verbindung ist ein gültiges Zertifikat einer Zertifizierungsstelle erforderlich.
- Das Zertifikat muss mit dem FQDN des Servers übereinstimmen.
- Wenn sich der alternative Name im Zertifikat vom SQL Server-Hostnamen unterscheidet, muss er
HostNameInCertificateauf den FQDN festgelegt werden. - Das Zertifikat muss im Speicher für vertrauenswürdige Stammzertifizierungsstellen auf dem Clientcomputer installiert sein.
Wenn Sie Folgendes verwenden Encrypt=Strict:
- Die Verbindung erzwingt TDS 8.0.
- Für die Verbindung ist ein gültiges CA-signiertes Zertifikat mit Übereinstimmung mit dem FQDN erforderlich.
-
HostNameInCertificatemuss auf den FQDN festgelegt werden. - Das Zertifikat muss vom Clientsystem als vertrauenswürdig eingestuft werden.
-
TrustServerCertificateDie Konfiguration wird nicht unterstützt. Ein gültiges Zertifikat muss vorhanden sein.
| Dem Serverzertifikat vertrauen | Verbindungszeichenfolge/Verbindungsattribut 'Dem Serverzertifikat vertrauen' | Zertifikatüberprüfung |
|---|---|---|
| 0 |
No (Standardwert) |
Ja |
| 0 | Yes |
Ja |
| 1 |
No (Standardwert) |
Ja |
| 1 | Yes |
Nein |
Sie müssen diese Einstellungen ordnungsgemäß in der Verbindungszeichenfolge angeben, wenn Sie verknüpfte Serververbindungen konfigurieren, um Kompatibilität und Sicherheit mit dem neuen Treiber sicherzustellen.
Aktualisierung von früheren Versionen von OLEDB
Gilt für: SQL Server 2025 (17.x) und spätere Versionen
Wenn Sie von früheren Editionen von SQL Server zu SQL Server 2025 (17.x) mit Microsoft OLE DB Driver 19 migrieren, können vorhandene verknüpfte Serverkonfigurationen fehlschlagen. Unterschiedliche Standardwerte für den Verschlüsselungsparameter können diesen Fehler verursachen, es sei denn, Sie geben ein gültiges Zertifikat an.
Alternativ können Sie den verknüpften Server neu erstellen und in die Verbindungszeichenfolge einschließen Encrypt=Optional . Wenn Sie die Konfiguration des verknüpften Servers nicht ändern können, aktivieren Sie das Ablaufverfolgungskennzeichnung 17600 , um OLE DB 18-Verhalten und -Standardwerte beizubehalten.
Verwenden Sie im Sql Server Management Studio (SSMS)-Assistenten zum Erstellen von verknüpften Servern die Option "Andere Datenquellen ", um die Verknüpften Serververschlüsselungsoptionen manuell zu konfigurieren.
Weitere Informationen zu OLE DB 19 und Verschlüsselung, Zertifikat- und Vertrauensserverzertifikatverhalten für OLE DB 19 finden Sie unter Verschlüsselung und Zertifikatüberprüfung in OLE DB.