Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Uwierzytelnianie SQL

Termin Definicja
Uwierzytelnianie SQL

Uwierzytelnianie SQL wykorzystuje konta zdefiniowane wewnątrz serwera, niezależne od systemu operacyjnego.

Na czym polega uwierzytelnianie SQL Server

Uwierzytelnianie SQL w Microsoft SQL Server polega na sprawdzaniu nazwy logowania i hasła zapisanych w samym silniku bazy danych. Takie konto jest niezależne od kont użytkowników systemu Windows. Logowanie może więc zostać wykonane przy użyciu loginu utworzonego w SQL Server, nawet jeśli osoba korzystająca z aplikacji nie ma odpowiadającego mu konta w systemie operacyjnym. Login jest obiektem poziomu instancji, natomiast dostęp do konkretnej bazy danych uzyskuje się przez powiązanie go z użytkownikiem bazy danych.

Po pomyślnym uwierzytelnieniu SQL Server ustala również uprawnienia danego loginu. Samo zaakceptowanie hasła nie oznacza automatycznie prawa do odczytu lub zmiany wszystkich danych. W bazie tworzy się użytkownika powiązanego z loginem, a następnie nadaje mu uprawnienia bezpośrednio albo przez członkostwo w rolach bazodanowych. Rozdzielenie loginu i użytkownika pozwala kontrolować dostęp zarówno do instancji, jak i do poszczególnych baz.

Tryb działania, loginy i hasła

Microsoft SQL Server może działać w trybie Windows Authentication albo w trybie mieszanym, określanym jako SQL Server and Windows Authentication mode. Uwierzytelnianie SQL jest dostępne tylko wtedy, gdy instancja została skonfigurowana do obsługi trybu mieszanego. Zmiana tego ustawienia wymaga modyfikacji właściwości serwera i ponownego uruchomienia usługi SQL Server, aby nowy tryb został zastosowany.

Login SQL Server ma własne hasło oraz ustawienia związane z polityką haseł. Przy tworzeniu lub zmianie loginu można wymagać kontroli złożoności hasła i jego okresowej zmiany, korzystając z mechanizmów obsługiwanych przez system Windows. Można także ustawić wygaśnięcie hasła albo zablokowanie loginu. W praktyce błędne hasło, wyłączony login, brak dostępu do wskazanej bazy lub użycie nieobsługiwanego trybu uwierzytelniania mogą powodować nieudane połączenie aplikacji z bazą.

Przebieg połączenia aplikacji z bazą

Aplikacja korzystająca z uwierzytelniania SQL przekazuje do sterownika nazwę serwera lub instancji, nazwę bazy, login oraz hasło. Sterownik ustanawia połączenie z SQL Server, a silnik weryfikuje login na poziomie instancji. Jeżeli dane są poprawne, SQL Server sprawdza, czy login ma użytkownika w wybranej bazie i czy ten użytkownik posiada wymagane uprawnienia. Brak mapowania loginu na użytkownika może skutkować błędem dostępu mimo poprawnego hasła.

Podczas diagnozowania problemu należy rozdzielić kilka etapów. Najpierw sprawdza się, czy klient dociera do właściwej instancji SQL Server i czy usługa nasłuchuje na oczekiwanym adresie oraz porcie. Następnie weryfikuje się, czy instancja dopuszcza uwierzytelnianie SQL, czy login jest aktywny i czy hasło nie wygasło. Kolejny etap obejmuje sprawdzenie nazwy bazy, użytkownika bazodanowego oraz przydzielonych ról i uprawnień. Komunikat o odrzuconym loginie wskazuje inny problem niż komunikat o braku uprawnienia do obiektu w już otwartej bazie.

Kontrola dostępu i diagnostyka konfiguracji

Uwierzytelnianie SQL powinno być oceniane razem z autoryzacją, ponieważ te mechanizmy odpowiadają za różne decyzje. Uwierzytelnianie potwierdza tożsamość loginu, a autoryzacja określa, jakie operacje może on wykonać. Login przypisany do roli o szerokich uprawnieniach może odczytywać, modyfikować lub usuwać dane, natomiast login używany przez aplikację może otrzymać tylko uprawnienia wymagane przez jej funkcje. Szczególnej kontroli wymaga konto sa, czyli wbudowany login SQL Server o uprawnieniach administratora systemu.

Podczas serwisowania laptopa lub komputera PC problem z uwierzytelnianiem SQL może wynikać z błędnego pliku konfiguracyjnego aplikacji, zmienionego hasła, odinstalowania składników klienta albo połączenia z inną instancją niż wcześniej. Należy porównać nazwę serwera, nazwę instancji, bazę docelową i sposób uwierzytelniania, a także sprawdzić dzienniki SQL Server oraz komunikat zwracany przez aplikację.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę