| Termin | Definicja |
|---|---|
| Mixed Mode Authentication | Mixed Mode Authentication to tryb dopuszczający logowanie do SQL Server zarówno kontami Windows, jak i kontami serwera. Na czym polega Mixed Mode Authentication w SQL ServerMixed Mode Authentication, określany w SQL Server jako SQL Server and Windows Authentication mode, pozwala używać dwóch odrębnych mechanizmów uwierzytelniania. Pierwszy z nich to Windows Authentication, w którym SQL Server korzysta z tożsamości użytkownika lub grupy zdefiniowanej w systemie Windows albo w domenie Active Directory. Drugi to SQL Server Authentication, w którym serwer bazy danych sam przechowuje login SQL Server oraz jego uwierzytelnienie za pomocą hasła. W tym trybie podczas logowania klient może więc wybrać konto systemu Windows albo konto utworzone bezpośrednio w SQL Server. Tryb mieszany dotyczy ustawienia instancji SQL Server, a nie pojedynczej tabeli czy konkretnej bazy danych. Po włączeniu SQL Server Authentication nie oznacza to automatycznego nadania uprawnień każdemu loginowi. Uwierzytelnienie odpowiada za potwierdzenie tożsamości, natomiast autoryzacja określa, do jakich baz, schematów i obiektów dany login może uzyskać dostęp. Login serwerowy musi mieć odpowiednie mapowanie do użytkownika bazy danych lub otrzymać uprawnienia wynikające z członkostwa w roli serwerowej albo bazodanowej. Różnica między loginem Windows a loginem SQL ServerPrzy Windows Authentication SQL Server akceptuje poświadczenia wystawione przez system Windows. W praktyce można utworzyć login dla użytkownika lub grupy, na przykład za pomocą polecenia SQL Server Authentication stosuje login niezależny od konta Windows, na przykład Włączanie trybu mieszanego i kontrola konfiguracjiUstawienie można zmienić w SQL Server Management Studio po połączeniu z instancją: w właściwościach serwera, w sekcji Security, wybiera się SQL Server and Windows Authentication mode. Zmiana trybu uwierzytelniania wymaga ponownego uruchomienia usługi SQL Server, aby nowa konfiguracja zaczęła obowiązywać. Samo przełączenie trybu nie tworzy nowych loginów SQL Server i nie zmienia uprawnień istniejących użytkowników. Przed zmianą należy więc ustalić, które aplikacje korzystają z Windows Authentication, a które z loginów SQL Server. Bieżącą konfigurację można sprawdzić zapytaniem Skutki wyboru Mixed Mode w praktyceTryb mieszany bywa potrzebny, gdy aplikacja musi łączyć się z SQL Server spoza domeny Windows albo działa w środowisku, w którym nie można użyć poświadczeń systemowych. Wprowadza jednak dodatkową powierzchnię konfiguracji: trzeba zarządzać loginami SQL Server, ich hasłami, stanem blokady, zasadami wygasania oraz sposobem przechowywania danych logowania po stronie aplikacji. Błąd „Login failed for user” nie wskazuje sam w sobie, że Mixed Mode jest wyłączony. Przyczyną może być nieistniejący login, wyłączony login, nieprawidłowe hasło, próba połączenia z niewłaściwą bazą domyślną albo brak mapowania loginu do użytkownika w wybranej bazie. Diagnostyka powinna rozdzielać etap uwierzytelnienia od etapu autoryzacji. Najpierw sprawdza się, czy klient używa właściwego typu logowania i czy instancja SQL Server dopuszcza ten typ uwierzytelnienia. Następnie weryfikuje się login, jego status oraz domyślną bazę, a później uprawnienia użytkownika bazodanowego. W przypadku aplikacji należy przejrzeć parametry połączenia, ponieważ ustawienie |