SQL: Szybka ściąga do konfiguracji KERBEROS

27-Mar-2016

Te kilka poleceń pozwala mi diagnozować problemy z połączeniem do SQL servera, zwłaszcza w przypadku wystąpienia błędu:

SSPI handshake failed with error code 0x80090311

bardzo pomocne są artykuły

z których pochodzą między innymi poniższe komendy.

Do poprawnego skonfigurowania protokołu Kerberos i tym samym uniknięcia w/w błedu potrzebne są tzw. Service Principal Name skonfigurowane dla konta serwisowego SQL Server. Jeśli połączenie do serwera jest nawiązywane z wykorzystaniem NTLM zamiast Kerberos, to najpierw sprawdź, czy SPN dla danego serwera są zarejestrowane. Pomoże w tym komenda:

setspn -L 'domain\user'

Wynik pusty oznacza, że zapomniano o konfiguracji SPN. Jeśli komenda coś wyświetla, to są to definicje SPN. Gdy brakuje SPN, to można je utworzyć wykorzystując poniższe instrukcje:

Setspn -A MSSQLSvc/server.subdomain.domain   domain\user
Setspn -A MSSQLSvc/server.subdomain.domain:1433   domain\user

Oczywiście zamienieamy server, subdomin, domain i user na właściwe.

Kiedy protokół jest już skonfigurowany a anadal podejrzewasz problemy, możesz sprawdzić zawartość ticketa Kerberos korzystając z polecenia Klist:

  • Aby sprawdzić ticket dla usługi SQL:
Klist get MSSQLSvc/server.subdomain.domain:1433
  • Aby sprawdzić ticket dla hosta:
Klist get Host/server.subdomain.domain

Ta ostatnia komenda zawsze powinna coś zwrócić. Jeżeli nie zwraca, tzn że masz problem na poziomie hosta, a nie usługi SQL.

Dodaj komentarz:

Autor: Rafał Kraik