Beheben von OLE DB-Anbieterfehlern für verknüpfte Server

Ursprüngliche KB-Nummer: 2555855

Summary

In diesem Artikel können Sie OLE DB-Anbieterfehler beheben, die auftreten, wenn Sie T-SQL-Abfragen über linked Servers oder Ad-hoc-Abfragen mithilfe von OPENROWSET oder OPENDATASOURCE in Microsoft SQL Server ausführen. Diese Fehler deuten in der Regel darauf hin, dass der OLE DB-Anbieter nicht installiert ist, nicht registriert ist oder nicht mit der SQL Server Architektur übereinstimmt.

Symptome

Wenn Sie T-SQL-Abfragen ausführen, die verknüpfte Server oder Ad-hoc-Abfragen verwenden (mit OPENROWSET oder OPENDATASOURCE), erhalten Sie möglicherweise eine der folgenden Fehlermeldungen:

Der OLE DB-Anbieter "<ProviderName>" wurde nicht registriert. (Microsoft SQL Server, Fehler: 7403)

Eine Instanz des OLE DB-Anbieters "<ProviderName>" für den verknüpften Server "<LinkedServerName>" kann nicht erstellt werden. (Microsoft SQL Server, Fehler: 7302)

Diese Fehler können auch auftreten, nachdem Sie:

  • Migrieren Sie SQL Server von einem Computer zu einem anderen.
  • Stellen Sie die master Datenbank von einem anderen Server wieder her.

Ursache

SQL Server kann den angegebenen OLE DB-Anbieter aus einem der folgenden Gründe nicht initialisieren:

  • Der OLE DB-Anbieter oder -Treiber ist nicht auf dem Server installiert.
  • Der installierte Anbieter stimmt nicht mit der SQL Server Bitanzahl überein (x86 im Vergleich zu x64).
  • Der OLE DB-Anbieter ist installiert, aber nicht ordnungsgemäß registriert.

Hinweis

Wenn Sie einen verknüpften Server mithilfe von sp_addlinkedserver erstellen, meldet SQL Server keine unmittelbaren Fehler im Zusammenhang mit der Anbieterverfügbarkeit. Diese Fehler werden nur angezeigt, wenn Sie eine Abfrage ausführen, die den verknüpften Server verwendet.

Lösung

Um das Problem zu beheben, führen Sie die Schritte in den einzelnen Abschnitten in der angegebenen Reihenfolge aus.

Überprüfen der installierten OLE DB-Anbieter oder -Treiber

Überprüfen Sie mithilfe einer der folgenden Methoden, welche OLE DB-Anbieter oder -Treiber in Ihrer SQL Server-Instanz registriert sind:

  • In SQL Server Management Studio (SSMS) erweitern Sie Serverobjekte>Linked Servers>Providers, um die Liste der registrierten OLE DB-Anbieter oder -Treiber anzuzeigen.

  • Führen Sie die folgende Abfrage aus, um alle definierten verknüpften Server und die zugehörigen Anbieter oder Treiber anzuzeigen:

    SELECT * FROM sys.servers;
    

    Weitere Informationen zu den zurückgegebenen Spalten finden Sie unter sys.servers (Transact-SQL).

Überprüfen der Anbieter- oder Treiberinstallation

Überprüfen Sie, ob der richtige OLE DB-Anbieter installiert ist und der Architektur SQL Server entspricht:

  1. Überprüfen Sie, ob der vom verknüpften Server erforderliche Anbieter in der Anbieterliste vorhanden ist, indem Sie die installierten OLE DB-Anbieter oder -Treiber überprüfen.

  2. Wenn der Anbieter fehlt, installieren Sie ihn:

    • For Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL): Laden Sie die neueste Version auf der Downloadseite Microsoft OLE DB Driver herunter.
    • Für Drittanbieter oder Treiber: Wenden Sie sich an den Anbieter, um das richtige Installationsprogramm zu erhalten.
  3. Stellen Sie sicher, dass die Anbieterversion der SQL Server Architektur entspricht. Installieren Sie beispielsweise den 64-Bit-Anbieter für eine 64-Bit-SQL Server Instanz.

Weitere Methoden zum Überprüfen des Anbieters finden Sie in der Überprüfung der OLE DB-Treiberinstallation.

Registrieren des OLE DB-Anbieters

Wenn die Anbieter-DLL auf dem Datenträger vorhanden ist, aber nicht registriert ist, installieren Sie den Anbieter oder Treiber erneut, indem Sie die Schritte unter Überprüfen der Anbieter- oder Treiberinstallation verwenden. Durch erneutes Installieren wird sichergestellt, dass die DLL ordnungsgemäß registriert ist.

Überprüfen der Anbieterkonnektivität

Verwenden Sie eine UDL-Datei (Universal Data Link), um zu überprüfen, ob der OLE DB-Anbieter eine Verbindung mit der Zieldatenquelle herstellen kann:

  1. Erstellen Sie eine neue UDL-Testdatei .
  2. Doppelklicken Sie auf die UDL-Datei , um das Dialogfeld "Datenverknüpfungseigenschaften " zu öffnen.
  3. Wählen Sie die Registerkarte "Anbieter " und dann den OLE DB-Anbieter aus der Liste aus.
  4. Geben Sie auf der Registerkarte "Verbindung " den Servernamen und die Authentifizierungsdetails ein.
  5. Wählen Sie "Verbindung testen" aus, um die Verbindung zu überprüfen.

Ausführliche Schritte finden Sie unter Test OLE DB-Konnektivität zu SQL Server mithilfe einer UDL-Datei.

Haftungsausschluss für Informationen Dritter

Die in diesem Artikel erläuterten Drittanbieterprodukte werden von Unternehmen hergestellt, die unabhängig von Microsoft sind. Microsoft übernimmt keine Garantie, impliziert oder anderweitig, über die Leistung oder Zuverlässigkeit dieser Produkte.