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