确定是否在不登录的情况下启用了混合模式身份验证?


Answers:


15

另一种方法是尝试使用SQL身份验证使用显然不会成功的伪造帐户登录。然后,您可以使用记事本打开ERRORLOG文件,C:\Program Files\Microsoft SQL Server\$instance folder$\MSSQL\Log\然后看到此错误...

错误:18456,严重性:14,状态:58
用户'polly_wants_a_cracker'的登录失败。原因:尝试使用SQL身份验证登录失败。服务器仅配置为Windows身份验证。

这意味着未启用混合模式身份验证

...或者这个...

错误:18456,严重性:14,状态:5
用户'polly_wants_a_cracker'的登录失败。原因:找不到与提供的名称匹配的登录名。

这意味着启用了混合模式身份验证

我不知道有没有一种方法可以告诉:

  • 成功登录
  • 可以物理访问该框(或远程注册表),以便在登录失败时检查注册表配置(如Julien所述)或错误日志中的状态/消息

18

您可以在注册表中检查它:

HKLM\Software\Microsoft\Microsoft SQL Server\ [instancename] \MSSqlServer

当前模式记录在LoginMode按键中。

值(DWORD)可以是:

  • 1 = Windows身份验证模式
  • 2 = SQL Server和Windows身份验证模式

注意:

  • 0 相当于 2
  • 您仍然需要访问注册表(和服务器)

2

您也可以通过PowerShell执行此操作:

import-module sqlserver
$sqlserver = "ServerName"
$srv = Get-SqlServer -sqlserver $sqlserver
$srv.LoginMode

这将返回如下输出:

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.