Firma Microsoft rozpowszechnia poprawki microsoft SQL Server 2008 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każda nowa wersja zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki z SQL Server 2008 r.
Symptomy
Na komputerze z systemem Microsoft SQL Server 2008 podczas tworzenia serwera połączonego przy użyciu dostawcy sql native client (Sqlncli.dll) występuje co najmniej jeden z następujących problemów.Uwaga Te problemy występują również w dodatku Service Pack 3 (SP3) dla programu Microsoft SQL Server 2005. Poprawka w tym artykule nie ma jednak zastosowania do SQL Server 2005 z dodatkiem SP3.
Problem 1
Rozpatrzmy następujący scenariusz:
-
W SQL Server Management Studio otworzysz okno Nowy serwer połączony i utworzysz serwer połączony przy użyciu jednej z następujących konfiguracji:
-
Dostawca sql native client z typem serwera jako SQL Server
-
Dostawca klienta sql native client (nie sql native client 10) z typem serwera jako innym źródłem danych
-
Dostawca bazy danych OLE firmy Microsoft dla SQL Server z typem serwera jako innym źródłem danych
-
-
Aby wyświetlić połączone serwery, rozwiń katalog Serwery połączone w SQL Server Management Studio.
W tym scenariuszu usługa SQL Server nieoczekiwanie się zamyka lub plik mini-zrzutu jest wielokrotnie generowany w folderze dziennika błędów SQL Server. Ten problem występuje do momentu zatrzymania usługi SQL Server. Ponadto SQL Server Management Studio zgłasza następujący błąd: TYTUŁ: Microsoft SQL Server Management Studio------------------------------ Nie można pobrać danych dla tego żądania. (Microsoft.SqlServer.Management.Sdk.Sfc)Aby uzyskać pomoc, kliknij pozycję: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476------------------------------ADDITIONAL INFORMATION:Wystąpił wyjątek podczas wykonywania instrukcji Transact-SQL lub partii. (Microsoft.SqlServer.ConnectionInfo)------------------------------Timeout wygasło. Limit czasu upłynął przed zakończeniem operacji lub serwer nie odpowiada. (Microsoft SQL Server, błąd: -2)Uwaga Ten problem nie występuje w przypadku uruchomienia zapytania serwera połączonego podczas używania dostawcy sql native client z typem serwera jako SQL Server.
Problem 2
Rozpatrzmy następujący scenariusz:
-
Serwer połączony można utworzyć przy użyciu dostawcy bazy danych OLE firmy Microsoft dla sterowników ODBC.
-
Źródło danych ODBC jest tworzone przy użyciu dostawcy sql native client z typem serwera jako innym źródłem danych.
W tym scenariuszu serwer połączony nie zwraca żadnych wyników.
Rozwiązanie
Poprawka rozwiązła ten problem została po raz pierwszy wydana w aktualizacji zbiorczej 7 dla SQL Server 2008 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji o tym zbiorczym pakiecie aktualizacji, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Microsoft Knowledge Base: -
979065Pakiet aktualizacji zbiorczej 7 dla SQL Server 2008 z dodatkiem Service Pack 1 UwagaOdnotacje, że kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2008. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Microsoft Knowledge Base: -
970365Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 1 SQL Server 2008 firmy Microsoft SQL Server 2008 są tworzone dla określonych SQL Server dodatków Service Pack. Poprawkę SQL Server 2008 z dodatkiem Service Pack 1 należy zastosować do instalacji dodatku Service Pack 1 dla SQL Server 2008. Domyślnie każda poprawka dostępna w SQL Server dodatku Service Pack jest dołączana do następnego SQL Server dodatku Service Pack.
Więcej informacji
Możesz potwierdzić wersję plików Sqlncli.dll i Sqlservr.exe, uruchamiając następujące zapytanie:
select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'
Jeśli używasz programu Microsoft SQL Server 2008 z dodatkiem Service Pack 1 (SP1) lub nowszej wersji programu Microsoft SQL Server 2008, zapytanie zwróci następujące informacje o wersji:
-
Plik Sqlncli.dll będzie miał wersję późniejszą niż 9.0:3207.0.
-
Plik Sqlservr.exe będzie miał wersję późniejszą niż lub równą 10.0:2531.0, ale wcześniejszą niż 10.0:2766.0.
Jeśli używasz usługi Microsoft SQL Server 2008 RTM lub nowszych wersji SQL Server 2008 RTM, zapytanie zwróci następujące informacje o wersji:
-
Plik Sqlncli.dll będzie miał wersję późniejszą niż wersja 9.0:3207.0.
-
Plik Sqlservr.exe będzie miał wersję późniejszą lub równą 10.0:1600.0, ale wcześniejszą niż 10.0:1835.0.
Obejście
Aby obejść te problemy, wykonaj następujące czynności:Obejście 1:1. Usuń serwer połączony, który nie działa.2. Utwórz nowy serwer połączony przy użyciu dostawcy SQL Server Native Client 10.0 (SQLNCLI10). W tym celu: a. Kliknij prawym przyciskiem myszy pozycję Serwery połączone i wybierz pozycję Nowy serwer połączony. B. Wybierz pozycję Inne źródło danych i wybierz pozycję SQL Server Native Client 10.0 dla pozycji Dostawca.Obejście 2:
-
Utwórz podklucz rejestru o nazwie "SQLNCLI" w następującej ścieżce:
HKLM\Software\Microsoft\DataAccess
-
Utwórz wpis rejestru typu REG_DWORD o nazwie "SQLOSPartitioning" w tym podkluczu.
-
Ustaw wartość tego wpisu na wartość 0x0.
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".
Więcej informacji
|
Oprogramowanie reguł |
Tytuł reguły |
Opis reguły |
Wersje produktów, na podstawie których sprawdzana jest reguła |
|
System Center Advisor |
SQL Server brak KB979779 aktualizacji, aby zapobiec uszkodzeniu pamięci natywnej klienta SQL |
Na tym serwerze jest obecny dostawca sql native client odpowiadający programowi SQL Server 2005. Ta starsza wersja SQLNCLI.dll może być potencjalnie ładowana w SQL Server 2008 i SQL Server 2008 R2 podczas wyliczania dostawców i tworzenia serwerów połączonych. Konkretne kompilacje programów SQL Server 2008 i SQL Server 2008 R2 mogą występować problemy i zawieszać się podczas tworzenia lub używania serwera połączonego utworzonego za pomocą tego SQLNCLI.dll. Zaktualizuj dotknięte problemem wystąpienia SQL Server 2008 i SQL Server 2008 R2 za pomocą wymaganych poprawek lub unikaj używania tej SQLNCLI.dll podczas tworzenia serwerów połączonych. |
Informacje
Aby uzyskać więcej informacji na temat przyrostowego modelu obsługi dla SQL Server, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Microsoft Knowledge Base:
935897 Przyrostowy model obsługi jest dostępny od zespołu SQL Server w celu dostarczenia poprawek zgłoszonych problemówAby uzyskać więcej informacji na temat schematu nazewnictwa dla aktualizacji SQL Server, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Microsoft Knowledge Base:
822499Nowy schemat nazewnictwa dla pakietówaktualizacji oprogramowania firmy Microsoft SQL Server Aby uzyskać więcej informacji na temat terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft