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
Summe
In diesem Artikel wird erläutert, wie Sie eine UDL-Datei (Universal Data Link) erstellen und verwenden, um die Ole DB-Konnektivität (Object Linking and Embedding Database) mit einer SQL Server Instanz zu testen. Mit einer UDL-Datei können Sie eine Verbindung (auch als Datenverbindung bezeichnet) unabhängig von Ihrer Anwendung überprüfen, sodass Sie einschränken können, ob sich ein Verbindungsfehler auf den Treiber, das Netzwerk oder die Verbindungszeichenfolge der Anwendung bezieht. Sie können Microsoft OLE DB-Treiber für SQL Server, den älteren Microsoft OLE DB-Anbieter für SQL Server, den älteren Microsoft OLE DB-Anbieter für (ODBC)-Treiber und jeden anderen auf Ihrem System installierten OLEDB-Anbieter testen. Im Artikel wird auch gezeigt, wie Sie 32-Bit-Anbieter auf 64-Bit-Windows testen und häufige Verbindungsprobleme eingrenzen.
Dieser Artikel richtet sich an Datenbankadministratoren und Entwickler, die SQL Server Verbindungsfehler von einem Windows Clientcomputer beheben müssen.
Erstellen einer UDL-Datei
Mit einer UDL-Datei können Sie die OLE DB-Anbieterkonnektivität unabhängig von einer vollständigen Anwendung zu jeder Back-End-Datenbank testen. Wenn Sie eine UDL-Datei speichern, wird eine wohlgeformte Verbindungszeichenfolge generiert. Sie können diese Zeichenfolge verwenden, um die Verbindungszeichenfolge einer Anwendung zu erstellen oder zu überprüfen, wie unterschiedliche Eigenschaften festgelegt werden. Um die Zeichenfolge abzurufen, öffnen Sie die UDL-Datei in einem Text-Editor (z. B. Editor).
Führen Sie die folgenden Schritte aus, um eine UDL-Datei zum Testen Ihres OLE DB-Anbieters zu erstellen:
Führen Sie die folgenden Schritte aus, um Dateierweiterungen in Explorer anzuzeigen:
Wählen Sie "Start" aus, und geben Sie Explorer Optionen ein.
Wählen Sie die Registerkarte "Ansicht" aus, deaktivieren Sie die Option "Erweiterungen für bekannte Dateitypen ausblenden", und wählen Sie dann "OK" aus.
Navigieren Sie zu dem Ordner, in dem Sie eine UDL-Datei erstellen möchten. Beispiel:
C:\temp.Erstellen Sie eine neue Textdatei (z. B.
sqlconn.txt), und benennen Sie dann die Erweiterung von.txtin.udlum. (Wählen Sie Ja zur Warnmeldung zum Ändern der Dateinamenerweiterung.)Alternativ können Sie das folgende PowerShell-Skript verwenden, um
%temp%in Ihremsqlconn.udl-Ordner zu erstellen und zu öffnen. Das Skript setzt den Servernamen auf(local). Ändern Sie den$ServerNameWert, um einen anderen Server zu testen.clear $ServerName = "(local)" $UDL_String = "[oledb]`r`n; Everything after this line is an OLE DB initstring`r`nProvider=MSOLEDBSQL.1;Integrated Security=SSPI;Persist Security Info=False;User ID=`"`";Initial Catalog=`"`";Data Source=" + $ServerName + ";Initial File Name=`"`";Server SPN=`"`";Authentication=`"`";Access Token=`"`"" Set-Content -Path ($env:temp + "\sqlconn.udl") -Value $UDL_String -Encoding Unicode #open the UDL Invoke-Expression ($env:temp + "\sqlconn.udl")
Testen Sie eine Verbindung mithilfe von Microsoft OLE DB-Treiber für SQL Server
Verwenden Sie dieses Verfahren, wenn Ihre Anwendung eine Verbindung mit SQL Server über einen OLE DB-Treiber oder -Anbieter für SQL Server herstellt.
Microsoft OLE DB-Treiber für SQL Server ist der aktuelle SQL Server OLE DB-Treiber. Die aktuelle Version des Treibers registriert sich als MSOLEDBSQL19. Der Treiber unterstützt neuere Features wie TLS 1.2 und 1.3, MultiSubnetFailover und Microsoft Entra Authentifizierungsmethoden. Verwenden Sie diesen Treiber für neuere SQL Server Datenbanken.
Der veraltete Microsoft OLE DB Provider (SQLOLEDB) wird nicht mehr verwaltet und wird für neue Entwicklungen nicht empfohlen. Verwenden Sie ihn daher nur, um zu reproduzieren, wie eine vorhandene Anwendung eine Verbindung herstellt.
Führen Sie die folgenden Schritte aus, um die Verbindung mithilfe des Microsoft OLE DB-Treibers oder -Anbieters für SQL Server zu testen:
Öffnen Sie die UDL-Datei.
Wählen Sie die Registerkarte "Anbieter " aus, wählen Sie den OLE DB-Treiber oder -Anbieter aus, den Sie in Ihrer Anwendung verwenden, und wählen Sie dann "Weiter" aus.
Geben Sie auf der Registerkarte "Verbindung " das Netzwerkprotokoll, den vollqualifizierten Domänennamen (FQDN) und die Portnummer unter "Auswählen" an, oder geben Sie einen Servernamen ein. Beispiel:
tcp:SQLProd01.contoso.com,1433.Notiz
Diese Art der Eingabe des Servernamens und des Ports vermeidet häufige Probleme (z. B. sql Server-Browserdienstprobleme), die eine Verbindung beeinträchtigen könnten.
Geben Sie andere Eigenschaften auf der Registerkarte "Verbindung " ein.
Notiz
Bei den meisten Verbindungstests müssen Sie keinen Datenbanknamen eingeben.
Wählen Sie Verbindung testen aus.
Sie können auch andere Registerkarten auswählen und andere Treibereinstellungen erkunden. Wenn der Verbindungstest abgeschlossen ist, wählen Sie OK aus, um die Verbindungszeichenfolge in der UDL-Datei zu speichern.
Notiz
Wenn ein Test mit Microsoft OLE DB-Treiber 19 für SQL Server mit einem Zertifikat- oder Verschlüsselungsfehler fehlschlägt, überprüfen Sie, ob die erweiterten Eigenschaften Verbindungsverschlüsselung und Trust Server Certificate von der SQL Server-Verschlüsselungskonfiguration unterstützt werden und mit ihr übereinstimmen. Die empfohlene Konfiguration besteht darin, ein Zertifikat auf dem Server zu installieren, das der Client überprüfen kann. Wählen Sie Trust Server Certificate nur als temporären Diagnoseschritt aus. Weitere Informationen finden Sie unter Verschlüsselungs- und Zertifikatüberprüfung in OLE DB-Treiber für SQL Server.
Testen einer Verbindung mithilfe des Microsoft OLE DB-Anbieters für ODBC-Treiber
Verwenden Sie dieses Verfahren, um einen ODBC-Treiber (Open Database Connectivity) über Microsoft OLE DB Provider for ODBC Drivers zu testen. Führen Sie zum Ausführen des Tests die folgenden Schritte aus:
Öffnen Sie die UDL-Datei.
Wählen Sie Provider>Microsoft OLE DB Provider für ODBC-Treiber>Weiter.
Verwenden Sie auf der Registerkarte "Verbindung " eine der folgenden Methoden, um die Datenquelle anzugeben, und geben Sie dann andere Eigenschaften ein:
Geben Sie einen Wert in das Feld "Datenquellenname verwenden" ein.
Geben Sie alternativ in der
Use VerbindungszeichenfolgeEigenschaft eine DSN-lose Verbindungszeichenfolge wieDriver={ODBC Driver 18 for SQL Server};Server=(local);Database=tempdb;Trusted_Connection=Yes;Encrypt=Optionalein.
Wählen Sie Verbindung testen aus.
Notiz
ODBC-Treiber 18 für SQL Server verschlüsselt Standardmäßig Verbindungen. Wenn der Test mit einem Zertifikatfehler fehlschlägt, stellen Sie sicher, dass der Server über ein Zertifikat verfügt, das der Client überprüfen kann. Weitere Informationen finden Sie unter Problembehandlung für die Verbindungsverschlüsselung im ODBC-Treiber.
Testen von 32-Bit-Providern auf 64-Bit-Windows
Verwenden Sie dieses Verfahren, um einen 32-Bit-OLE DB-Anbieter auf einem 64-Bit-Betriebssystem zu testen. Führen Sie zum Ausführen des Tests die folgenden Schritte aus:
Führen Sie im Eingabeaufforderungsfenster den folgenden Befehl aus, um die 32-Bit-Eingabeaufforderung zu öffnen:
%windir%\SysWoW64\cmd.exeFühren Sie den folgenden Befehl aus, um die UDL-Datei zu öffnen:
C:\temp\sqlconn.udlÜberprüfen Sie die Registerkarte Provider. Wenn Microsoft Jet 4.0 OLE DB Provider aufgeführt ist, haben Sie das 32-Bit-Dialogfeld geladen. Sie können nun den 32-Bit-Anbieter auswählen, um die Verbindung zu testen.
Starten einer UDL-Datei
Doppelklicken Sie auf eine UDL-Datei, um sie zu starten. In diesem Abschnitt wird der zugrunde liegende Prozess beschrieben, den Windows zum Starten einer UDL-Datei verwendet.
Die Ui der UDL-Datei wird von OLEDB32.DLL bereitgestellt und in RUNDLL32.EXE gehostet. Verwenden Sie je nach Betriebssystem und Anbieter einen der folgenden Befehle. In den Beispielen wird davon ausgegangen, dass die UDL-Datei C:\temp\sqlconn.udl ist.
Für 32-Bit-Betriebssysteme oder für 64-Bit-Anbieter unter 64-Bit-Betriebssystemen:
Rundll32.exe "C:\Program Files\Common Files\System\OLE DB\oledb32.dll",OpenDSLFile C:\temp\sqlconn.udlFür 32-Bit-Anbieter unter 64-Bit-Betriebssystemen:
C:\Windows\SysWOW64\Rundll32.exe "C:\Program Files (x86)\Common Files\system\Ole DB\oledb32.dll",OpenDSLFile C:\temp\sqlconn.udlNotiz
Um eine erfolgreiche Ausführung sicherzustellen, schließen Sie den Pfad zur UDL-Datei
C:\temp\sqlconn.udlnicht in Anführungszeichen um.
Zum Testen von 32-Bit-Anbietern auf einem 64-Bit-Betriebssystem können Sie eine 32-Bit-Eingabeaufforderung öffnen und C:\TEMP\SQLCONN.UDL ausführen.
- Wählen Sie "Start" ->"Ausführen" aus.
- Geben Sie
%windir%\SysWOW64\cmd.exeein und wählen Sie OK aus. - Führen Sie
C:\TEMP\SQLCONN.UDLaus.
Optional können Sie eine Dateierweiterungszuordnung erstellen, die den 32-Bit-Befehl verwendet.
Erstellen einer 32-Bit-UDL32-Dateierweiterungszuordnung
Wenn Sie häufig 32-Bit-Anbieter auf einem 64-Bit-Betriebssystem verwenden, können Sie eine neue Dateierweiterung (z. B. .udl32) zuordnen, um das 32-Bit-UDL-Dialogfeld zu starten. Führen Sie die folgenden Schritte aus.
Von Bedeutung
Dieser Abschnitt, die Methode oder die Aufgabe enthält Schritte, mit denen Sie erfahren, wie Sie die Registrierung ändern. Es können jedoch schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie daher sicher, dass Sie diese Schritte sorgfältig ausführen. Erstellen Sie eine Sicherungskopie der Registrierung, bevor Sie Änderungen vornehmen, damit Sie die Registrierung wiederherstellen können, falls ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.
Kopieren Sie das folgende Skript in Notepad und speichern Sie es als udl32.reg.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.UDL32] @="ft000001" [HKEY_CLASSES_ROOT\ft000001] @="Microsoft Data Link 32" "BrowserFlags"=dword:00000008 "EditFlags"=dword:00000000 [HKEY_CLASSES_ROOT\ft000001\shell] @="open" [HKEY_CLASSES_ROOT\ft000001\shell\open] [HKEY_CLASSES_ROOT\ft000001\shell\open\command] @="C:\\Windows\\SysWOW64\\Rundll32.exe \"C:\\Program Files (x86)\\Common Files\\system\\Ole DB\\oledb32.dll\",OpenDSLFile %1" [HKEY_CLASSES_ROOT\ft000001\shell\open\ddeexec]Doppelklicken Sie auf die .reg Datei, um einen Registrierungsschlüssel zu erstellen, mit dem Sie UDL32-Dateien automatisch starten können.
Erstellen Sie eine Datei mit der Dateierweiterung UDL32 . Beispiel : C:\temp\test.udl32.
Doppelklicken Sie auf " test.udl32 ", um das 32-Bit-UDL-Dialogfeld zu starten. So wird beispielsweise ein Dialogfeld wie folgt angezeigt:
Beheben von Fehlern bei Verbindungstests
Wenn ein UDL-Verbindungstest fehlschlägt, verwenden Sie die folgenden Methoden, um herauszufinden, warum. Probieren Sie jede Methode separat aus, und vergleichen Sie die Ergebnisse.
- Ändern Sie den Anbieter.
- Ändern Sie das Protokoll. Beispiel:
tcp:,np:oderlpc:. - Testen Sie die Verbindung mit oder ohne das vollständige Domänensuffix oder nur mit der IP-Adresse.
- Entfernen Sie die Portnummer, und verwenden Sie den Instanznamen, um den SQL Server-Browserdienst zu testen.
Wenn eine Kombination funktioniert und eine andere fehlschlägt, kann der Unterschied einen Hinweis auf das Problem geben. Wenn beispielsweise lpc: funktioniert, tcp: aber nicht, aktivieren Sie das TCP-Protokoll in SQL Server-Konfigurations-Manager.
Wenn dieser Artikel Ihr Problem nicht behebt, finden Sie weitere Hilfe unter Problembehandlung für Konnektivitätsprobleme in SQL Server.