Dotyczy
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup

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:

  1. Utwórz podklucz rejestru o nazwie "SQLNCLI" w następującej ścieżce:

    HKLM\Software\Microsoft\DataAccess

  2. Utwórz wpis rejestru typu REG_DWORD o nazwie "SQLOSPartitioning" w tym podkluczu.

  3. 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.

SQL Server 2008 r.SQL Server 2008 R2

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

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.