Udostępnij za pośrednictwem


Troubleshooting Protocol Errors During Database Engine Startup

Gdy SQL Server Database Engine napotka błąd podczas uruchamiania, komunikat o błędzie związane z protokołem zostaną zapisane SQL Server Dziennik błędów, a w dzienniku zdarzeń systemu Windows w następującej postaci:

"Błąd: 17182, Wskaźnik ważności: 16, Stan: 1."

"TDSSNIClient Zainicjowanie nie powiodło się z powodu błędu <x>, kod stanu <y>."

W tej wiadomości <x> jest podstawowa kod błędu, który jest zwracany komunikat lub podsystem zabezpieczeń i <y> jest wewnętrznego SQL Server stan błędu protokół.

Uwaga

Protokół pamięci udostępniony i protokół rury o nazwie udziału pewne aspekty ich realizacji.Jeśli jeden protokół nie powiedzie się, może to spowodować drugiej, jak również nie powiedzie się.Jeśli protokół podany w komunikat o błędzie jest wyłączona, ale ten błąd będzie się powtarzał, spróbuj uruchomić ponownie z obu pamięci współużytkowanej i nazwanych potoków wyłączone.

Interpretowanie kod błędu

Kod błędu podstawowej, <x>, jest zazwyczaj kod błędu jest zwracany w warstwie sieci systemu Windows lub przez wywołanie funkcji protokół SSPI (Security Support dostawca interfejs). Dla systemu Windows w sieci kody błędów, systemem polecenie net helpmsg polecenia mogą pomóc w interpretacji kod.Kody błędów SSPI nie jest tak łatwe do rozszyfrowywania.Może zajść potrzeba wyszukiwania Microsoft Baza wiedza lub jeśli zainstalowano zestaw SDK systemu operacyjnego, należy przejrzeć plik WinError.h.

Interpretowanie kod stanu błędu protokół

The SQL Server protokół error states are listed in the following tabela. Należy zauważyć, że większość stanów błąd wskazać wystąpienia błędu wewnętrznego, lecz zapewnia wgląd do obszaru określonego protokół, pod którym znajduje się błąd określonej wartości.Na przykład jeżeli wartość wynosi 7 i 30 (0x0A i 0x1E), ten błąd wynika z przetwarzania protokołu TCP/IP.Kody stanu w komunikacie o błędzie są prezentowane w formacie szesnastkowym.W poniższej tabela dziesiętny równoważnik zapewnia przejrzystość.

Stan zakres kodu w formacie szesnastkowym

Zakres kod stanu w postaci dziesiętnej

Obszar protokół

0x03

3

Pamięci współużytkowanej

0x07 0x1E

7-30

TCP/IP

0x23 0x1F

31-35

Połączenia dedykowane administrator (DAC)

0x35

53

Nazwane potoki

0x36

54

Karta interfejs wirtualnego (VIA)

0x38

56

Secure Sockets Layer (SSL)

0x4F 0x40

64-79

Pamięci współużytkowanej

0x5F 0x50

80-95

Nazwane potoki

0x6F 0x60

96-111

ZA POMOCĄ

0x70 0x7F

112-127

HTTP

0x8F 0x80

128-143

SSL

0x90 0x9F

144-159

Ogólne

W poniższej tabela przedstawiono niektóre typowe kody błędów.

Kod stanu

Description

0x03

Błąd uruchamiania udostępnionych obsługa pamięci

0x04

Wszystkie protokoły wyłączone

0x0A

Nie można zainicjować odbiornika protokołu TCP/IP

0x1C

Serwer jest skonfigurowany do nasłuchu na określony adres IP w środowisku klastra

0x1E

Duplikat adresu IP w sieci

0x35

Wystąpił błąd podczas uruchamiania nazwany potok pomocy technicznej

0x36

Obsługuje błąd wyjścia VIA

0x38

Błąd uzyskiwania lub przy użyciu certyfikat SSL

0x3A

Nie można zainicjować odbiorników komunikacji

0x40

Nie można zainicjować odbiornika pamięci współużytkowanej

0x50

Nie można zainicjować odbiornika nazwany potok

0x60

Nie można zainicjować odbiornika VIA

0x70

Nie można zainicjować odbiornika HTTP

0x80

Nie można zainicjować obsługa protokołu SSL

Przykłady

Poniżej przedstawiono przykład typowy błąd, który występuje podczas uruchamiania systemu: "TDSSNIClient Zainicjowanie nie powiodło się z powodu kod stanu 0x38 z powodu błędu. „

Wartość powodu jest kod błędu SSPI służąca do CRYPT_E_NOT_FOUND.Kod błędu wewnętrznego, która oznacza, że jest 0x38 SQL Server komunikację warstwy nie można zainicjować odbiornika. Ten błąd został wygenerowany za pomocą protokołu SSL, ponieważ nie można zlokalizować certyfikat.

Błędy zwrócone, gdy wszystkie protokoły są wyłączone.

Może pojawić się następujące błędy występują wtedy, gdy są wyłączone, wszystkie protokoły:

  • "Błąd: 17182, Wskaźnik ważności: 16, Stan: 1."

    "TDSSNIClient Zainicjowanie nie powiodło się z powodu błędu 0xd, kod stanu 0x4. „

  • "Błąd: 17182, Wskaźnik ważności: 16, Stan: 1."

    "TDSSNIClient Zainicjowanie nie powiodło się z powodu błędu 0xd, kod stanu 0x1. „

  • "Błąd: 17826, Wskaźnik ważności: 18, Stan: 3."

    "Nie można uruchomić biblioteki sieciowej z powodu błędu wewnętrznego w biblioteki sieciowej.Aby ustalić przyczynę, należy przejrzeć błędy, bezpośrednio przed danym węzłem dziennik błędów."

  • "Błąd: 17120, Wskaźnik ważności: 16, Stan: 1."

    "Program SQL Server nie może uruchomić wątek FRunCM.Sprawdź dziennik błędów programu SQL Server i dzienniki zdarzeń systemu Windows, aby uzyskać informacje dotyczące problemów pokrewnych, możliwe. „