Poprawka: Kilka problemów podczas korzystania z serwera połączonego, który został utworzony przez dostawcę programu SQL Native Client programu SQL Server 2008

Dotyczy: SQL Server 2008 DeveloperSQL Server 2008 EnterpriseSQL Server 2008 Standard

Firma Microsoft rozpowszechnia poprawki programu Microsoft SQL Server 2008 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 Release.

Objawy


Na komputerze, na którym jest uruchomiony program Microsoft SQL Server 2008 wystąpić jeden lub więcej z następujących problemów podczas tworzenia serwera połączonego za pomocą dostawcy programu SQL Native Client (Sqlncli.dll).

Uwaga Te problemy występują również w dodatku Service Pack 3 (SP3) dla systemu Microsoft SQL Server 2005. Jednak poprawki w tym artykule nie dotyczą programu SQL Server 2005 z dodatkiem SP3.

Problem 1

Rozważ następujący scenariusz:
  • W SQL Server Management Studio Otwórz okno nowy serwer połączony i utworzyć serwer połączony przy użyciu jednej z poniższych ustawień:
    • Dostawca programu SQL Native Client z typu serwera jako Serwera SQL
    • Dostawca programu SQL Native Client (nie SQL Native Client 10) o Typ serwera , co inne źródła danych
    • Microsoft OLE DB Provider for SQL Server z typu serwera , co inne źródła danych
  • Rozwiń katalog Serwerów połączonych w SQL Server Management Studio, aby wyświetlić połączonych serwerów.
W tym scenariuszu nieoczekiwane zamknięcie usługi SQL Server lub pliku mini-zrzutu generowany jest wielokrotnie w folderze dziennika błędów serwera SQL. Ten problem występuje nadal, aż do zatrzymania usługi SQL Server. Ponadto program 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: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
INFORMACJE DODATKOWE:
Wystąpił wyjątek podczas wykonywania instrukcji języka Transact-SQL lub partii. (Microsoft.SqlServer.ConnectionInfo)
------------------------------

Upłynął limit czasu. Limit upłynął przed ukończeniem operacji lub serwer nie odpowiada. (Microsoft SQL Server, błąd: -2)



Uwaga Ten problem występuje po uruchomieniu kwerendy serwera połączonego, gdy używasz dostawcy programu SQL Native Client z Typ serwera jako Serwera SQL.

Problem 2

Rozważ następujący scenariusz:
  • Utworzyć serwer połączony przy użyciu dostawcy OLE DB firmy Microsoft dla sterowników ODBC.
  • Źródło danych ODBC jest tworzony za pomocą programu SQL Native Client dostawcy z typem serwera jako inne źródło danych.
W tym scenariuszu serwer połączony zwraca żadnych wyników.

Rozwiązanie


Poprawkę dotyczącą tego problemu został wydany w zbiorczej aktualizacji 7 dla programu SQL Server 2008 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:-
979065 7 zbiorczy pakiet aktualizacji dla dodatku Service Pack 1 dla programu SQL Server 2008
Uwaga Ponieważ są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 Release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:-
970365 SQL Server 2008 buduje wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2008
Microsoft SQL Server 2008 poprawki są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji programu SQL Server 2008 z dodatkiem Service Pack 1, należy zastosować poprawkę dodatku Service Pack 1 dla programu SQL Server 2008. Domyślnie wszystkie poprawki, która jest dostępna w dodatku service pack dla programu SQL Server znajduje się w następnym dodatku service pack dla programu SQL Server.

Więcej informacji


Można sprawdzić wersje plików Sqlncli.dll i Sqlservr.exe przez uruchomione 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 Microsoft SQL Server 2008 z dodatkiem Service Pack 1 (SP1) lub nowsze wersje programu Microsoft SQL Server 2008, kwerenda będzie zwracać następujące informacje o wersji:
  • Plik Sqlncli.dll ma wersję później niż 9.0:3207.0.
  • Plik Sqlservr.exe będzie miał wersja późniejsza niż lub równa 10.0:2531.0, ale wcześniej niż 10.0:2766.0.
Jeśli używasz Microsoft SQL Server 2008 RTM lub nowszej wersji programu SQL Server 2008 RTM, kwerenda będzie zwracać następujące informacje o wersji:
  • Plik Sqlncli.dll ma wersję później niż wersja 9.0:3207.0.
  • Plik Sqlservr.exe będzie miał wersja późniejsza niż lub równa 10.0:1600.0, ale wcześniej niż 10.0:1835.0.

Obejście problemu


Aby obejść te problemy, wykonaj następujące kroki:

Workaround 1:

1. usunąć awarię serwera połączonego.

2. Utwórz nowy serwer połączony przy użyciu dostawcy programu SQL Server Native Client 10.0 (SQLNCLI10). Aby to zrobić:
a. Kliknij prawym przyciskiem myszy na Serwerach połączonych i wybierz Nowy serwer połączony.
b. Wybierz inne źródło danych i wybierz polecenie SQL Server Native Client 10.0 dla dostawcy.

Workaround 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" pod tym podkluczem.
  3. 0x0, należy ustawić wartość tego wpisu.

Stan


Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji


Reguła oprogramowaniaNazwa regułyOpis regułyWersje produktu, przeciwko którym reguła jest oceniane
Doradca programu System CenterSQL Server brakujących aktualizacji KB979779 aby zapobiec z uszkodzeniem pamięci programu SQL native clientDostawca programu SQL Native Client, który odnosi się do programu SQL Server 2005 jest obecny w tym serwerze. Tej starszej wersji SQLNCLI.dll może potencjalnie załadowany w programie SQL Server 2008 i programu SQL Server 2008 R2 podczas wyliczania dostawców i Tworzenie połączonych serwerów. Szczególne Kompilacje SQL Server 2008 i programu SQL Server 2008 R2, mogą występować problemy i zawiesza się podczas tworzenia lub przy użyciu serwera połączonego utworzona z tym wpływ SQLNCLI.dll. Aktualizacja dotyczy wystąpień programu SQL Server 2008 i programu SQL Server 2008 R2 z wymagane poprawki lub unikać to SQLNCLI.dll podczas tworzenia połączonych serwerów.Program SQL Server 2008

Program SQL Server 2008 R2


Powiązane artykuły


Aby uzyskać więcej informacji o przyrostowych modelu obsługi programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

935897 przyrostowe modelu obsługi jest dostępne z zespołu programu SQL Server do dostarczania poprawki dla problemów zgłoszonych



Aby uzyskać więcej informacji na temat schematu nazewnictwa dla aktualizacji programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

822499 Nowy schemat nazewnictwa dla pakietów aktualizacji oprogramowania Microsoft SQL Server


Aby uzyskać więcej informacji dotyczących terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft