Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Oryginalny numer KB: 2555855
Summary
Ten artykuł pomaga w rozwiązywaniu błędów dostawcy OLE DB, które występują podczas uruchamiania zapytań T-SQL za pośrednictwem serwerów połączeń lub skomplikowanych zapytań ad hoc przy użyciu OPENROWSET lub OPENDATASOURCE w Microsoft SQL Server. Te błędy zwykle wskazują, że dostawca OLE DB nie jest zainstalowany, nie jest zarejestrowany lub nie jest zgodny z architekturą SQL Server.
Symptoms
Podczas uruchamiania zapytań T-SQL, które używają połączonych serwerów lub zapytań ad hoc (przy użyciu OPENROWSET lub OPENDATASOURCE), może zostać wyświetlony jeden z następujących komunikatów o błędach:
Dostawca OLE DB "<ProviderName>" nie został zarejestrowany. (Microsoft SQL Server, błąd: 7403)
Nie można utworzyć wystąpienia dostawcy OLE DB "<ProviderName>" dla serwera połączonego "<LinkedServerName>". (Microsoft SQL Server, błąd: 7302)
Te błędy mogą również wystąpić po wykonaniu następujących czynności:
- Migrowanie SQL Server z jednego komputera do innego.
-
masterPrzywróć bazę danych z innego serwera.
Przyczyna
SQL Server nie może zainicjować określonego dostawcy OLE DB z jednego z następujących powodów:
- Dostawca lub sterownik OLE DB nie jest zainstalowany na serwerze.
- Zainstalowany dostawca nie odpowiada bitowości SQL Server (x86 w porównaniu do x64).
- Dostawca OLE DB jest zainstalowany, ale nie został poprawnie zarejestrowany.
Uwaga / Notatka
Podczas tworzenia serwera połączonego przy użyciu sp_addlinkedserver SQL Server nie zgłasza natychmiast błędów związanych z dostępnością dostawcy. Te błędy są wyświetlane tylko wtedy, gdy uruchamiasz zapytanie korzystające z serwera połączonego.
Rozwiązanie
Aby rozwiązać ten problem, wykonaj kroki opisane w każdej sekcji w podanej kolejności.
Weryfikowanie zainstalowanych dostawców lub sterowników OLE DB
Sprawdź, którzy dostawcy lub sterowniki OLE DB są zarejestrowani w wystąpieniu SQL Server, korzystając z jednej z następujących metod:
W SQL Server Management Studio (SSMS), rozwiń Server Objects>Linked Servers>Providers aby wyświetlić listę zarejestrowanych dostawców lub sterowników OLE DB.
Uruchom następujące zapytanie, aby wyświetlić wszystkie zdefiniowane połączone serwery i skojarzonych z nimi dostawców lub sterowników:
SELECT * FROM sys.servers;Aby uzyskać więcej informacji na temat zwracanych kolumn, zobacz sys.servers (Transact-SQL).
Weryfikowanie instalacji dostawcy lub sterownika
Sprawdź, czy zainstalowano poprawnego dostawcę OLE DB i czy jest zgodny z architekturą SQL Server:
Sprawdź, czy dostawca, który jest wymagany przez serwer połączony, znajduje się na liście dostawcy, na liście Sprawdź zainstalowanych dostawców lub sterowników OLE DB.
Jeśli brakuje dostawcy, zainstaluj go:
- For Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL): Pobierz najnowszą wersję ze strony pobierania sterownika Microsoft OLE DB.
- W przypadku zewnętrznych dostawców lub kierowców: Skontaktuj się ze sprzedawcą, aby uzyskać właściwy instalator.
Upewnij się, że wersja dostawcy jest zgodna z architekturą SQL Server. Na przykład zainstaluj dostawcę 64-bitowy dla 64-bitowej instancji SQL Server.
Aby uzyskać więcej metod weryfikacji dostawcy, zobacz Sprawdzanie instalacji sterownika OLE DB.
Rejestrowanie dostawcy OLE DB
Jeśli biblioteka DLL dostawcy istnieje na dysku, ale nie jest zarejestrowana, zainstaluj ponownie dostawcę lub sterownik, wykonując kroki opisane w artykule Weryfikowanie dostawcy lub instalacji sterownika. Ponowne zainstalowanie gwarantuje, że biblioteka DLL jest poprawnie zarejestrowana.
Weryfikowanie łączności dostawcy
Użyj pliku universal Data Link (UDL), aby sprawdzić, czy dostawca OLE DB może nawiązać połączenie z docelowym źródłem danych:
- Utwórz nowy plik testowy udl .
- Kliknij dwukrotnie plik udl , aby otworzyć okno dialogowe Właściwości łącza danych .
- Wybierz kartę Dostawca , a następnie z listy wybierz dostawcę OLE DB.
- Na karcie Połączenie wprowadź nazwę serwera i szczegóły uwierzytelniania.
- Wybierz pozycję Testuj połączenie , aby zweryfikować łączność.
Aby uzyskać szczegółowe instrukcje, zobacz Testuj łączność OLE DB z SQL Server przy użyciu pliku UDL.
Treści powiązane
- Tworzenie serwerów połączonych (SQL Server Database Engine)
- Sterownik OLE DB dla programu SQL Server
- sp_addlinkedsrvlogin (Transact-SQL)
Zastrzeżenie dotyczące informacji pochodzących od stron trzecich
Produkty innych firm, które omówiono w tym artykule, są produkowane przez firmy niezależne od Microsoft. Microsoft nie udziela żadnych gwarancji, domniemanych lub w inny sposób, dotyczących wydajności lub niezawodności tych produktów.