É possível no SQL Server determinar se a autenticação de modo misto está habilitada sem fazer logon no SQL Server?
É possível no SQL Server determinar se a autenticação de modo misto está habilitada sem fazer logon no SQL Server?
Outra abordagem é tentar fazer login, usando autenticação SQL, com uma conta obviamente falsa que não terá êxito. Você pode usar o bloco de notas para abrir o ERRORLOG
arquivo C:\Program Files\Microsoft SQL Server\$instance folder$\MSSQL\Log\
e ver este erro ...
Erro: 18456, Gravidade: 14, Estado: 58 .
Falha no login do usuário 'polly_wants_a_cracker'. Motivo: uma tentativa de efetuar login usando autenticação SQL falhou. O servidor está configurado apenas para autenticação do Windows.
Isso significa que a autenticação em modo misto não está ativada .
... ou este ...
Erro: 18456, Gravidade: 14, Estado: 5 .
Falha no login do usuário 'polly_wants_a_cracker'. Motivo: não foi possível encontrar um login correspondente ao nome fornecido.
Isso significa que a autenticação em modo misto está ativada .
Não sei se existe uma maneira de saber sem:
Você pode verificá-lo no registro:
HKLM\Software\Microsoft\Microsoft SQL Server\ [instancename] \MSSqlServer
O modo atual é gravado na LoginMode
tecla.
Os valores (DWORD) podem ser:
Nota:
0
é equivalente a 2
Você também pode fazer isso via PowerShell:
import-module sqlserver
$sqlserver = "ServerName"
$srv = Get-SqlServer -sqlserver $sqlserver
$srv.LoginMode
Isso retornará uma saída como esta: