Limit czasu połączenia w przypadku używania odbiornika grupy dostępności AlwaysOn z parametrem MultiSubnetFailover

Dotyczy
Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 R2 for Itanium-Based Systems Windows Server 2008 R2 Foundation Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Windows 7 Service Pack 1 Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate

Objawy

Podczas próby połączenia się z programem Microsoft SQL Server 2012 za pośrednictwem odbiornika grupy dostępności AlwaysOn z aplikacji klienckiej może zostać wyświetlony komunikat o błędzie limitu czasu logowania.

Na przykład po użyciu polecenia SqlCmd może zostać wyświetlony następujący komunikat o błędzie:

Uwaga

SQLCMD: Błąd: Microsoft SQL Native Client: Upłynęło limit czasu logowania.

Uwaga

[Microsoft][SQL Server Native Client 11.0]Nie można ukończyć procesu logowania z powodu opóźnienia w otwarciu połączenia z serwerem

Podczas korzystania z aplikacji opartej na programie Microsoft .NET Framework 3.5 lub Microsoft .NET Framework 4.0 z dostawcą danych programu .Net Framework dla programu SQL Server może zostać wyświetlony następujący komunikat o błędzie:

Uwaga

Upłynął limit czasu. Limit czasu, który upłynął przed zakończeniem operacji lub serwer nie odpowiada.
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
at System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean& marsCapable)
at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject, Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds.. ctor(tożsamość DbConnectionPoolIdentity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

        
Uwaga Jeśli wydłużysz limit czasu logowania do 30 sekund, aplikacja kliencka potrzebuje około 20 sekund, aby pomyślnie nawiązać połączenie.

Te objawy występują, gdy są spełnione następujące warunki:

  • Grupa dostępności jest zdefiniowana w wielu podsieciach.
  • Podczas nawiązywania połączenia został określony parametr MultiSubnetFailover.
  • Aktywny sterownik filtru interfejsu TDI (Transport Driver Interface) jest zainstalowany na stacji roboczej aplikacji klienckiej.

Przyczyna

Ten problem występuje, ponieważ sterownik Tdx.sys nie obsługuje poprawnie funkcji Closesocket(), gdy funkcja jest wywoływana w trakcie uzgadniania protokołu TCP/IP.

Rozwiązanie

Informacje o poprawkach

Obsługiwana poprawka jest dostępna w firmie Microsoft. Jednak ta poprawka ma na celu rozwiązanie tylko problemu opisanego w tym artykule. Tę poprawkę należy stosować tylko w systemach, w których występuje problem opisany w tym artykule. Ta poprawka może zostać poddana dodatkowym testom. Dlatego jeśli ten problem nie dotyczy użytkownika, zaleca się zaczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.

Jeśli poprawka jest dostępna do pobrania, u góry tego artykułu z bazy wiedzy znajduje się sekcja "Dostępne do pobrania poprawki". Jeśli ta sekcja nie zostanie wyświetlona, skontaktuj się z działem pomocy technicznej i pomocy technicznej firmy Microsoft w celu uzyskania poprawki.

Uwaga W przypadku wystąpienia dodatkowych problemów lub konieczności rozwiązania problemu może być konieczne utworzenie osobnego zgłoszenia serwisowego. Normalne koszty pomocy technicznej będą dotyczyć dodatkowych pytań oraz problemów, które nie kwalifikują się do objęcia tą poprawką. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta i pomocy technicznej firmy Microsoft lub utworzyć oddzielne żądanie obsługi, odwiedź następującą witrynę firmy Microsoft w sieci Web:

http://support.microsoft.com/contactus/?ws=support Uwaga: W formularzu "Dostępne do pobrania poprawki" są wyświetlane języki, dla których poprawka jest dostępna. Jeśli nie widzisz odpowiedniego języka, oznacza to, że nie ma dla niego dostępnej poprawki.

Wymagania wstępne

Aby zastosować tę poprawkę, musisz mieć zainstalowany system Windows 7 z dodatkiem SP1 lub Windows Server 2008 R2 z dodatkiem SP1.

Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania dodatku Service Pack dla systemu Windows 7 lub Windows Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

976932 Informacje o dodatkach Service Pack 1 dla systemów Windows 7 i Windows Server 2008 R2

Informacje na temat rejestru

Aby zastosować tę poprawkę, nie trzeba wprowadzać żadnych zmian w rejestrze.

Wymóg ponownego uruchomienia

Po zastosowaniu tej poprawki należy ponownie uruchomić komputer.

Informacje o zastępowaniu poprawek

Ta poprawka nie zastępuje wcześniej wydanej poprawki.

Informacje o plikach

Globalna wersja tej poprawki instaluje pliki o atrybutach wymienionych w poniższych tabelach. Daty i godziny tych plików są wyświetlane według uniwersalnego czasu koordynowanego (UTC). Daty i godziny dla tych plików na komputerze lokalnym są wyświetlane w formacie czasu lokalnego, wraz z bieżącą różnicą czasu letniego. Ponadto daty i godziny mogą się zmieniać, gdy wykonujesz określone operacje na plikach.

Informacje o plikach systemów Windows 7 i Windows Server 2008 R2 — uwagi
Ważne poprawki systemu Windows 7 i poprawki systemu Windows Server 2008 R2 znajdują się w tych samych pakietach. Jednak poprawki na stronie Żądanie poprawki są wymienione w obu systemach operacyjnych. Aby zażądać pakietu poprawki, który ma zastosowanie do jednego lub obu systemów operacyjnych, wybierz poprawkę wymienioną w obszarze "Windows 7/Windows Server 2008 R2" na stronie. Aby ustalić, jakiego systemu operacyjnego dotyczy każda poprawka, należy zawsze zapoznać się z sekcją "Dotyczy" w artykułach.

  • Pliki odnoszące się do określonego produktu, SR_Level (RTM, SPn) i gałęzi usługi (LDR, GDR) można zidentyfikować, sprawdzając numery wersji plików przedstawione w poniższej tabeli:

    Wersja Produkt Punkt kontrolny Oddział usługi
    6.1.760
    1.22xxx
    Windows 7 i Windows Server 2008 z dodatkiem R2 SP1 Rekord LDR
  • Pliki MANIFEST (.manifest) i MUM (.mum) instalowane w poszczególnych środowiskach są wymienione oddzielnie w sekcji "Dodatkowe informacje o plikach dla systemów Windows 7 i Windows Server 2008 R2". Pliki MUM i MANIFEST oraz skojarzone pliki katalogu zabezpieczeń (cat) są niezwykle ważne dla utrzymania stanu zaktualizowanego składnika. Pliki wykazu zabezpieczeń, których nie wymieniono atrybutów, są podpisywane przy użyciu podpisu cyfrowego firmy Microsoft.

Dla wszystkich obsługiwanych wersji systemu Windows 7 opartych na architekturze x86

Nazwa pliku Tdx.sys
Wersja pliku 6.1.7601.22382
Rozmiar pliku 74,752
Data (UTC) 12-lipiec-2013
Godzina (UTC) 09:17
Platforma x86

Dla wszystkich obsługiwanych wersji systemów Windows 7 i Windows Server 2008 R2 dla komputerów z procesorami x64

Nazwa pliku Tdx.sys
Wersja pliku 6.1.7601.22382
Rozmiar pliku 118,272
Data (UTC) 12-lipiec-2013
Godzina (UTC) 09:35
Platforma x64

Wszystkie obsługiwane wersje systemu Windows Server 2008 R2 dla komputerów z systemem IA-64

Nazwa pliku Tdx.sys
Wersja pliku 6.1.7601.22382
Rozmiar pliku 236,544
Data (UTC) 12-lipiec-2013
Godzina (UTC) 09:03
Platforma IA-64

      

Obejście

Aby obejść ten problem, użyj jednej z następujących metod:

  • Zwiększ limit czasu logowania aplikacji do 30 sekund.
  • Funkcja TDI jest przestarzała w systemach Windows Vista, Windows Server 2008 i nowszych wersjach systemu Windows. Zamiast tego można użyć sterowników opartych na platformie filtrowania systemu Windows (WFP). Skontaktuj się z dostawcą zainstalowanego sterownika filtru TDI, aby uzyskać informacje na temat uaktualnień produktu, które implementują nową platformę filtrowania systemu Windows. Uaktualnij produkt, jeśli jest to możliwe.
  • Zastąp TDI porównywalnym produktem, w którym zastosowano platformę filtrowania systemu Windows.
  • Ustaw właściwość RegisterAllProvidersIP na 0 dla zasobu odbiornika grupy dostępności w klastrze systemu Windows. Gdy właściwość RegisterAllProvidersIP ma ustawioną wartość 0, nie trzeba określać parametru MultiSubnetFailover. Aby uzyskać więcej informacji o tym obejściu, odwiedź następującą witrynę MSDN w sieci Web:
    Tworzenie lub konfigurowanie odbiornika grupy dostępności (programu SQL Server)

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Aby uzyskać więcej informacji dotyczących terminologii związanej z aktualizacjami oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft

Produkty innych firm omawiane w tym artykule są tworzone przez firmy niezależne od firmy Microsoft. Firma Microsoft nie udziela jakichkolwiek gwarancji, dorozumianych ani innych, co do wydajności i niezawodności tych produktów.

Dodatkowe informacje o plikach

Dodatkowe informacje o plikach dla systemów Windows 7 i Windows Server 2008 R2

Dodatkowe pliki dla wszystkich obsługiwanych wersji systemu Windows 7 dla komputerów z procesorami x86

Nazwa pliku X86_2c94e745aaec3431931d51020305e2b9_31bf3856ad364e35_6.1.7601.22382_none_6fcc2f6025233efa.manifest
Wersja pliku Nie dotyczy
Rozmiar pliku 702
Data (UTC) 12-lipiec-2013
Godzina (UTC) 17:26
Platforma Nie dotyczy
Nazwa pliku X86_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_ec81028053b014a1.manifest
Wersja pliku Nie dotyczy
Rozmiar pliku 2,924
Data (UTC) 12-lipiec-2013
Godzina (UTC) 11:37
Platforma Nie dotyczy

Dodatkowe pliki dla wszystkich obsługiwanych wersji systemów Windows 7 i Windows Server 2008 R2 dla komputerów z procesorami x64

Nazwa pliku Amd64_fe6f131c914351fbcf6c3bc973329866_31bf3856ad364e35_6.1.7601.22382_none_a8b3dc126d52c78a.manifest
Wersja pliku Nie dotyczy
Rozmiar pliku 706
Data (UTC) 12-lipiec-2013
Godzina (UTC) 17:26
Platforma Nie dotyczy
Nazwa pliku Amd64_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_489f9e040c0d85d7.manifest
Wersja pliku Nie dotyczy
Rozmiar pliku 2,926
Data (UTC) 12-lipiec-2013
Godzina (UTC) 12:33
Platforma Nie dotyczy

Dodatkowe pliki dla wszystkich obsługiwanych wersji systemu Windows Server 2008 R2 opartych na architekturze IA-64

Nazwa pliku Ia64_649247023b89e8d48b1a96bffe9b85cd_31bf3856ad364e35_6.1.7601.22382_none_a9a13e5e5a562b37.manifest
Wersja pliku Nie dotyczy
Rozmiar pliku 704
Data (UTC) 12-lipiec-2013
Godzina (UTC) 17:26
Platforma Nie dotyczy
Nazwa pliku Ia64_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_ec82a67653ae1d9d.manifest
Wersja pliku Nie dotyczy
Rozmiar pliku 2,925
Data (UTC) 12-lipiec-2013
Godzina (UTC) 11:35
Platforma Nie dotyczy