¿Es posible en SQL Server determinar si la autenticación en modo mixto está habilitada sin iniciar sesión en SQL Server?
¿Es posible en SQL Server determinar si la autenticación en modo mixto está habilitada sin iniciar sesión en SQL Server?
Otro enfoque es intentar iniciar sesión, utilizando la autenticación de SQL, con una cuenta obviamente falsa que no tendrá éxito. Luego puede usar el bloc de notas para abrir el ERRORLOG
archivo C:\Program Files\Microsoft SQL Server\$instance folder$\MSSQL\Log\
y ver este error ...
Error: 18456, gravedad: 14, estado: 58 .
Error de inicio de sesión para el usuario 'polly_wants_a_cracker'. Motivo: falló un intento de inicio de sesión con autenticación de SQL. El servidor está configurado solo para la autenticación de Windows.
Esto significa que la autenticación en modo mixto no está habilitada .
...o este...
Error: 18456, gravedad: 14, estado: 5 .
Error de inicio de sesión para el usuario 'polly_wants_a_cracker'. Motivo: no se pudo encontrar un inicio de sesión que coincida con el nombre proporcionado.
Esto significa que la autenticación de modo mixto está habilitada .
No sé si posiblemente haya una manera de saberlo sin:
Puede verificarlo en el registro:
HKLM\Software\Microsoft\Microsoft SQL Server\ [instancename] \MSSqlServer
El modo actual se registra en la LoginMode
tecla.
Los valores (DWORD) pueden ser:
Nota:
0
es equivalente a 2
También puede hacer esto a través de PowerShell:
import-module sqlserver
$sqlserver = "ServerName"
$srv = Get-SqlServer -sqlserver $sqlserver
$srv.LoginMode
Esto devolverá una salida como esta: