Dostawcy usług warstwowych winsock mogą powodować problemy ze stabilnością sieci lub serwera dla programu SQL Server

Ten artykuł ułatwia rozwiązanie problemu występującego, gdy dostawcy usługi Winsock Layered Service Providers (LSP) są ładowani do przestrzeni adresowej programu SQL Server.

Oryginalna wersja produktu: Microsoft SQL Server
Oryginalny numer KB: 2033448

Symptomy

Zauważysz nagłe zawieszenie lub zakończenie całej komunikacji sieciowej między programem SQL Server i aplikacjami klienckimi. Może to spowodować, że program SQL Server przestanie odpowiadać i powodować błędy usługi. Mogą pojawić się wyjątki, których stosy wywołań obejmują manipulowanie strukturami danych obsługiwanymi lub używanymi przez moduły załadowane do przestrzeni adresowej programu SQL Server. Te problemy są zwykle po komunikatach o błędach generowanych przez harmonogram programu SQL Server, takich jak błędy 17883 i 17882.

Przyczyna

Biblioteka DLL LSP winsock może zostać załadowana do procesów programu SQL Server i może przechwytywać i monitorować komunikację sieciową (w tym pakiety TDS) na poziomie winsock między aplikacjami klienckimi i programem SQL Server. Dzieje się tak, gdy agenci monitorowania sieci są instalowani na komputerze z uruchomionym programem SQL Server i ten komputer jest wybierany do monitorowania użycia sieci do monitorowania liczników wydajności przez zarządzanego dostawcę usług.

Rozwiązanie

Wykonaj następujące polecenie z wiersza polecenia, aby dowiedzieć się listy wszystkich LSP winsock zainstalowanych na komputerze z uruchomionym programem SQL Server:

Netsh winsock show catalog

Wykonaj następujące zapytanie, aby dowiedzieć się, które z zainstalowanych dostawców LSP są ładowane do procesu programu SQL Server:

SELECT [name],[company],[file_version],[product_version]
FROM sys.dm_os_loaded_modules 
WHERE company NOT LIKE 'Microsoft%' OR company is NULL

Jeśli masz wymaganie biznesowe dotyczące korzystania z tych dostawców, upewnij się, że masz zainstalowane najnowsze aktualizacje dla tych dostawców. Jeśli to możliwe, unikaj monitorowania ruchu związanego z programem SQL Server i unikaj ładowania tych modułów do procesu programu SQL Server. Alternatywnie można wykluczyć ten serwer z procesu monitorowania.

Więcej informacji