Kommentar
Å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.
Ursprungligt KB-nummer: 2555855
Summary
Den här artikeln hjälper dig att lösa fel med OLE DB-providern som uppstår när du kör T-SQL-frågor via länkade servrar eller ad hoc-frågor med hjälp av OPENROWSET eller OPENDATASOURCE i Microsoft SQL Server. Dessa fel indikerar vanligtvis att OLE DB-providern inte är installerad, inte är registrerad eller inte matchar SQL Server-arkitekturen.
Symptoms
När du kör T-SQL-frågor som använder länkade servrar eller ad hoc-frågor (med hjälp OPENROWSET av eller OPENDATASOURCE) kan du få något av följande felmeddelanden:
OLE DB-providern "<ProviderName>" har inte registrerats. (Microsoft SQL Server, Fel: 7403)
Det går inte att skapa en instans av OLE DB-providern "<ProviderName>" för den länkade servern "<LinkedServerName>". (Microsoft SQL Server, Fel: 7302)
Dessa fel kan också inträffa efter att du:
- Migrera SQL Server från en dator till en annan.
- Återställ databasen
masterfrån en annan server.
Orsak
SQL Server kan inte initiera den angivna OLE DB-providern av någon av följande orsaker:
- OLE DB-providern eller drivrutinen är inte installerad på servern.
- Den installerade providern matchar inte SQL Server bitness (x86 jämfört med x64).
- OLE DB-providern är installerad men inte korrekt registrerad.
Anmärkning
När du skapar en länkad server med hjälp av sp_addlinkedserver rapporterar SQL Server inte omedelbart fel som är relaterade till providertillgänglighet. Dessa fel visas bara när du kör en fråga som använder den länkade servern.
Lösning
Lös problemet genom att följa stegen i varje avsnitt i den angivna ordningen.
Kontrollera de installerade OLE DB-leverantörerna eller drivrutinerna
Kontrollera vilka OLE DB-leverantörer eller drivrutiner som är registrerade på din SQL Server-instans med någon av följande metoder:
I SQL Server Management Studio (SSMS) expandera Serverobjekt>Länkade servrar>Providers för att se listan över registrerade OLE DB-leverantörer eller drivrutiner.
Kör följande fråga för att se alla definierade länkade servrar och deras associerade leverantörer eller drivrutiner:
SELECT * FROM sys.servers;Mer information om de kolumner som returneras finns i sys.servers (Transact-SQL).
Verifiera leverantörens eller drivrutinens installation
Kontrollera att rätt OLE DB-provider är installerad och matchar SQL Server arkitektur:
Kontrollera om providern som krävs av den länkade servern finns i providerlistan från Verifiera de installerade OLE DB-leverantörerna eller drivrutinerna.
Om providern saknas installerar du den:
- För Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL): Ladda ned den senaste versionen från nedladdningssidan Microsoft OLE DB Driver.
- För tredjepartsleverantörer eller drivrutiner: Kontakta leverantören för att få rätt installationsprogram.
Kontrollera att providerversionen matchar SQL Server arkitekturen. Installera till exempel 64-bitarsprovidern för en 64-bitars SQL Server-instans.
Fler metoder för att verifiera providern finns i installationskontrollen för OLE DB-drivrutinen.
Registrera OLE DB-providern
Om providerns DLL finns på disken men inte är registrerad installerar du om providern eller drivrutinen med hjälp av stegen i Verifiera providern eller drivrutinsinstallationen. Ominstallationen säkerställer att DLL-filen är korrekt registrerad.
Verifiera provideranslutningen
Använd en UDL-fil (Universal Data Link) för att verifiera att OLE DB-providern kan ansluta till måldatakällan:
- Skapa en ny .udl-testfil .
- Dubbelklicka på .udl-filen för att öppna dialogrutan Egenskaper för datalänk .
- Välj fliken Provider och välj OLE DB-providern i listan.
- På fliken Anslutning anger du servernamnet och autentiseringsinformationen.
- Välj Testa anslutning för att verifiera anslutningen.
Detaljerade steg finns i Test OLE DB-anslutning till SQL Server med hjälp av en UDL-fil.
Relaterat innehåll
- Skapa länkade servrar (SQL Server Database Engine)
- OLE DB-drivrutin för SQL Server
- sp_addlinkedsrvlogin (Transact-SQL)
Ansvarsfriskrivning för information från tredje part
De produkter från tredje part som beskrivs i den här artikeln tillverkas av företag som är oberoende av Microsoft. Microsoft ger ingen garanti, underförstådd eller på annat sätt, om dessa produkters prestanda eller tillförlitlighet.