Czy w SQL Server można ustalić, czy uwierzytelnianie w trybie mieszanym jest włączone bez logowania do SQL Server?
Czy w SQL Server można ustalić, czy uwierzytelnianie w trybie mieszanym jest włączone bez logowania do SQL Server?
Innym podejściem jest próba zalogowania się przy użyciu uwierzytelniania SQL przy użyciu oczywiście fałszywego konta, które się nie powiedzie. Następnie możesz użyć notatnika, aby otworzyć ERRORLOG
plik C:\Program Files\Microsoft SQL Server\$instance folder$\MSSQL\Log\
i zobaczyć ten błąd ...
Błąd: 18456, wskaźnik ważności: 14, stan: 58 .
Logowanie nie powiodło się dla użytkownika „polly_wants_a_cracker”. Powód: Próba zalogowania przy użyciu uwierzytelniania SQL nie powiodła się. Serwer jest skonfigurowany tylko do uwierzytelniania systemu Windows.
Oznacza to , że uwierzytelnianie w trybie mieszanym nie jest włączone .
...albo ten...
Błąd: 18456, wskaźnik ważności: 14, stan: 5 .
Logowanie nie powiodło się dla użytkownika „polly_wants_a_cracker”. Powód: Nie można znaleźć loginu pasującego do podanej nazwy.
Oznacza to , że uwierzytelnianie w trybie mieszanym jest włączone .
Nie wiem, czy istnieje sposób, aby powiedzieć bez:
Możesz to sprawdzić w rejestrze:
HKLM\Software\Microsoft\Microsoft SQL Server\ [instancename] \MSSqlServer
Aktualny tryb jest zapisany w LoginMode
kluczu.
Wartości (DWORD) mogą być:
Uwaga:
0
jest równa 2
Możesz to również zrobić za pomocą programu PowerShell:
import-module sqlserver
$sqlserver = "ServerName"
$srv = Get-SqlServer -sqlserver $sqlserver
$srv.LoginMode
Zwróci to wynik w następujący sposób: