| Termin | Definicja |
|---|---|
| Login Windows | Login Windows to konto systemowe lub domenowe zmapowane w SQL Server, uwierzytelniane przez system operacyjny. Login Windows a uwierzytelnianie w SQL ServerLogin Windows w SQL Server jest obiektem zabezpieczeń utworzonym na podstawie tożsamości rozpoznawanej przez system Windows. Może reprezentować konto użytkownika albo konto grupowe zdefiniowane lokalnie na komputerze lub w domenie Active Directory. W nazwie logowania SQL Server zachowuje informację o źródle tożsamości, dlatego konto lokalne ma zwykle postać Podczas logowania SQL Server nie otrzymuje hasła użytkownika do samodzielnego sprawdzenia. Uwierzytelnienie wykonuje system Windows, korzystając z mechanizmu dostępnego dla danego środowiska, najczęściej Kerberos albo NTLM. Po pomyślnym uwierzytelnieniu SQL Server otrzymuje potwierdzenie tożsamości oraz informacje o członkostwie w grupach Windows. Następnie sprawdza, czy dla tej tożsamości istnieje login w konkretnej instancji SQL Server i czy ma on prawo rozpocząć sesję. Login serwera i użytkownik bazy danychW SQL Server login Windows należy do poziomu instancji, czyli serwera, na którym może otwierać sesje. Samo utworzenie loginu nie oznacza jeszcze dostępu do wszystkich baz danych znajdujących się w tej instancji. Aby nadać uprawnienia w określonej bazie, tworzy się tam osobny obiekt typu database user powiązany z loginem. Przykładowo login Relacja między loginem a użytkownikiem bazy danych jest istotna przy analizie błędów dostępu. Login może istnieć na serwerze, lecz brak użytkownika w wybranej bazie spowoduje odmowę dostępu albo brak możliwości wykonania operacji. Użytkownik bazy danych jest identyfikowany między innymi przez identyfikator zabezpieczeń SID. Jeżeli bazę przeniesiono do innej instancji lub odtworzono z kopii, może powstać tak zwany użytkownik osierocony: nazwa wygląda poprawnie, ale SID użytkownika nie odpowiada SID-owi właściwego loginu Windows. Uprawnienia, grupy i tryby dostępuUprawnienia loginu Windows można nadawać bezpośrednio albo za pośrednictwem grup Windows. W praktyce grupa jest często używana do przypisania ról bazodanowych, ponieważ członkostwo w grupie może obejmować wielu użytkowników. SQL Server rozpoznaje między innymi wbudowane role serwerowe, takie jak Na możliwość użycia loginu wpływa również tryb uwierzytelniania instancji. SQL Server może pracować w trybie Windows Authentication albo w trybie mieszanym, czyli SQL Server and Windows Authentication. Login Windows jest przeznaczony do uwierzytelniania Windows i nie korzysta z hasła przechowywanego jako hasło loginu SQL Server. Jeśli użytkownik widzi komunikat o nieudanym logowaniu, trzeba rozdzielić kilka przyczyn: brak dostępu do instancji, nieistnienie loginu, wyłączony login, brak użytkownika w bazie docelowej, odmowę uprawnienia lub próbę połączenia z niewłaściwą instancją. Objawy problemów z loginem WindowsDiagnostyka powinna rozpocząć się od ustalenia dokładnej tożsamości używanej przez proces łączący się z SQL Server. Interaktywne uruchomienie programu przez użytkownika nie zawsze oznacza, że ten sam login zostanie wykorzystany przez usługę, zadanie harmonogramu albo aplikację uruchomioną na innym komputerze. Należy sprawdzić nazwę komputera lub domeny, konto procesu, wybraną instancję, nazwę bazy oraz sposób uwierzytelniania. Sama obecność konta w systemie Windows nie tworzy automatycznie loginu w SQL Server. W przypadku błędu warto przeanalizować komunikat zwrócony przez klienta oraz wpisy w dzienniku SQL Server. Szczególnie ważny jest numer błędu 18456, ponieważ jego stan może wskazywać bardziej szczegółową przyczynę odmowy logowania. Gdy logowanie działa, lecz operacja w bazie kończy się odmową, problem dotyczy zwykle mapowania użytkownika, roli albo konkretnego uprawnienia, a nie samego uwierzytelnienia Windows. |