Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server
Kommentar
Innan du börjar felsöka kontrollerar du kraven och går igenom checklistan.
Den här artikeln beskriver hur du skapar en UDL-fil (Universal Data Link) och använder olika leverantörer för att testa anslutningen till en SQL Server-instans via filen.
Skapa en UDL-fil
Kommentar
Med en UDL-fil kan du testa OLE DB-providerns (Object Linking and Embedding Database) anslutning till alla serverdelsdatabaser som är oberoende av ett fullständigt program. Om du sparar en UDL-fil genereras en välformulerad anslutningssträng som du kan använda för att skapa ett programs anslutningssträng eller kontrollera hur du anger olika egenskaper. Om du vill hämta strängen öppnar du filen i Anteckningar.
Följ dessa steg för att skapa en UDL-fil för att testa OLE DB-providern:
Följ dessa steg om du vill visa filnamnstillägg i Utforskaren:
Välj Start och ange Utforskaren Alternativ.
Välj fliken Visa , avmarkera alternativet Dölj tillägg för kända filtyper och välj sedan OK.
Gå till mappen där du vill skapa en UDL-fil. Till exempel C:\temp.
Skapa en ny textfil (till exempel sqlconn.txt) och byt sedan namn på tillägget från .txt till .udl. (Välj Ja till varningsmeddelandet om att ändra filnamnstillägget.)
Du kan också använda följande PowerShell-skript för att skapa sqlconn.udl i mappen %temp% .
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")
Testa anslutningen med hjälp av SQL Server OLE DB-drivrutinen
Microsoft OLE DB-drivrutinen för SQL Server (MSOLEDBSQL) är den senaste SQL Server OLE DB-drivrutinen. Drivrutinen har nya funktioner, till exempel TLS 1.2 och 1.3, MultiSubnetFailover och Azure-autentiseringsmetoder (Microsoft Entra-ID). Vi rekommenderar den här drivrutinen för nyare SQL Server-databaser.
Microsoft OLE DB-providern för SQL Server (SQLOLEDB) är den äldre OLE DB-anslutningsleverantören. Den är inbyggd i Windows och kan ansluta till valfri version av SQL Server som inte är konfigurerad för att kräva TLS 1.2- eller 1.3-kanalbindningar.
Följ dessa steg för att testa anslutningen med hjälp av Microsoft OLE DB-drivrutinen eller providern för SQL Server:
Öppna UDL-filen.
Välj fliken Provider , välj den OLE DB-drivrutin eller provider som du använder i ditt program och välj sedan Nästa.
På fliken Anslutning anger du nätverksprotokollet, det fullständigt kvalificerade domännamnet (FQDN) och portnumret under Välj eller ange ett servernamn. Exempel:
tcp:SQLProd01.contoso.com,1433Kommentar
Det här sättet att ange servernamnet och porten undviker vanliga problem (till exempel problem med SQL Server Browser-tjänsten) som kan störa en anslutning.
Ange andra egenskaper på fliken Anslutning .
Kommentar
De flesta anslutningstester kräver inte att du anger ett databasnamn.
Välj Testanslutning.
Du kan också välja andra flikar och utforska andra drivrutinsinställningar. När anslutningstestet är klart väljer du OK för att spara anslutningssträng i en fil.
Testa anslutningen med hjälp av Microsoft OLE DB-providern för ODBC-drivrutiner
Följ dessa steg för att testa ODBC-drivrutiner (Open Database Connectivity) med hjälp av Microsoft OLE DB-providern för ODBC-drivrutiner:
Öppna UDL-filen.
Välj >>Nästa.
På fliken Anslutning kan du använda någon av följande metoder för att ange datakällan och sedan ange andra egenskaper.
Ange ett värde i fältet Använd datakällans namn .
Ange en DSN-mindre anslutningssträng som
Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes.
Välj Testanslutning.
Testa 32-bitarsprovidrar på 64-bitarsdatorer
Följ dessa steg för att testa anslutningen för 32-bitarsprovidrar i 64-bitarsoperativsystem:
I kommandotolkenkör du följande kommando för att öppna 32-bitars kommandotolken:
%windir%\SysWoW64\cmd.exeKör följande kommando för att öppna UDL-filen:
C:\temp\test.udlOm du ser Microsoft Jet 4.0 OLE DB-providern på fliken Provider har du läst in 32-bitarsdialogrutan och kan nu välja 32-bitarsprovidern för att testa anslutningen.
Öppna en UDL-fil
Dubbelklicka på en UDL-fil för att starta den. Följande beskriver den underliggande process som används när du startar en UDL-fil.
UDL-filgränssnittet tillhandahålls av OLEDB32.DLL och finns i RUNDLL32.EXE.
För 32-bitars operativsystem eller för 64-bitarsprovidrar på 64-bitars operativsystem använder du följande kommando (förutsatt
C:\temp\test.udl):Rundll32.exe "C:\Program Files\Common Files\System\OLE DB\oledb32.dll",OpenDSLFile C:\temp\test.udlAnvänd följande kommando för 32-bitarsprovidrar på 64-bitars operativsystem:
C:\Windows\SysWOW64\Rundll32.exe "C:\Program Files (x86)\Common Files\system\Ole DB\oledb32.dll",OpenDSLFile C:\temp\test.udl
Filnamnstillägget .udl mappas till det första kommandot. För 32-bitarsprovidrar på 64-bitars operativsystem kan du förenkla saker genom att köra en 32-bitars kommandotolk och sedan köra START C:\TEMP\TEST.UDL för att testa 32-bitarsproviders. Du kan också skapa en filnamnsmappning som använder 32-bitarskommandot.
Skapa en 32-bitars UDL32-filnamnsmappning
Om du ofta använder 32-bitarsproviders på ett 64-bitars operativsystem kan du mappa ett nytt filnamnstillägg (till exempel .udl32) för att starta 32-bitars UDL-dialogrutan med hjälp av följande steg.
Viktigt!
Det här avsnittet, metoden eller uppgiften innehåller steg som beskriver hur du ändrar registret. Allvarliga problem kan dock uppstå om du ändrar registret felaktigt. Därför bör du se till att du följer dessa steg noggrant. För skydd säkerhetskopierar du registret innan du ändrar det så att du kan återställa det om ett problem uppstår. Mer information om hur du säkerhetskopierar och återställer registret finns i Hur du säkerhetskopierar och återställer registret i Windows.
Kopiera följande skript till Anteckningar och spara det som 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]Dubbelklicka på filen .reg för att skapa en registernyckel, vilket hjälper dig att automatiskt starta UDL32-filer.
Skapa en fil med filnamnstillägget .udl32 . Till exempel C:\temp\test.udl32.
Dubbelklicka på test.udl32 för att starta 32-bitars UDL-dialogrutan. Du kan till exempel se en dialogruta som den här:
Tips för att felsöka anslutningsproblem
Du kan använda följande metoder för att kontrollera varför anslutningen misslyckas.
- Ändra providern.
- Ändra protokollet. Till exempel
tcp:,np:, ellerlpc:. - Testa anslutningen med eller utan det fullständiga domänsuffixet eller med bara IP-adressen.
- Ta bort portnumret och använd instansnamnet för att testa SQL Server Browser-tjänsten.
För var och en av ovanstående metoder, om en kombination fungerar och en annan misslyckas, kan det ge en ledtråd om problemet. Om du till exempel använder den andra metoden, om den lpc: fungerar och inte gör dettcp:, försöker du aktivera TCP-protokollet i Konfigurationshanteraren för SQL Server.
Se även
UDL-konfiguration (Universal Data Link)
Kommentar
Om den här artikeln inte löser problemet kan du söka efter mer hjälp i Felsöka anslutningsproblem i SQL Server .