SQL Server 2008 Windows身份validationlogin错误:login来自不受信任的域

尝试使用Management Studio连接到SQL Server 2008实例时,出现以下错误:

login失败。 login来自不受信任的域,不能与Windows身份validation一起使用。 (Microsoft SQL Server,错误:18452)

我可以login使用SQL身份validation没有问题。 突然间我一直在听这个错误。 我打开了混合模式身份validation。

有没有人有这方面的经验?

附加信息:64位版本的SQL企业版在Windows 2003 Server上

这可能发生的另一个原因(刚刚发生在我身上)…是用户的密码过期。 我没有意识到这一点,直到我试图远程进入实际的服务器,并提示更改我的密码。

对我来说,当我编辑一个空白drivers/etc/hosts文件,并添加了一个本地网站的条目,但忽略添加127.0.0.1 localhost

这个问题是由一个closures的Active Directory服务器造成的,当然这个服务器无法validationWindows帐户。 谢谢您的帮助。

“这个问题是由一个下来的Active Directory服务器,当然不能validationWindows帐户”

这不是“当然 – 因为如果AD不可用,那么Kerberosauthentication会回退到NTLM(域帐户凭证在本地caching,即使AD / Kerberos不可用,也可以使用它login)。我想你可能有2同时发生这种故障的条件:

  • SQL Server不是本地的(在另一台机器上)
  • 该信任被configuration为“仅Kerberos”

或其他特定的安全networking/服务器/ AD /机器configuration

我在本地机器上的服务器实例中遇到了这个问题,发现这是因为我在hosts文件中指向127.0.0.1以外的“localhost”。 在我的情况下有两种方法可以解决这个问题:

  1. 清除hosts文件中指向127.0.0.1的有问题的条目
  2. 使用“本地主机”而不是主机文件中指向127.0.0.1的其他名称

*这只适用于我当我在本地盒子上运行SQL服务器实例,并试图从同一台机器访问它。

对于遇到这个问题的其他人,我在我的主机文件中有这个:

 127.0.0.1 localhost 127.0.0.1 customname 

我需要它是这样的:

 127.0.0.1 localhost 127.0.0.1 localhost customname 

确保您没有连接到另一个域\用户的VPN 。 或者,相反,确保你连接的,如果这是需要的。

尝试使用RUNAS命令使用不同的有效login名

 runas /user:domain\user “C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\ssmsee.exe” runas /user:domain\user “C:\WINDOWS\system32\mmc.exe /s \”C:\Program Files\Microsoft SQL Server\80\Tools\BINN\SQL Server Enterprise Manager.MSC\”" runas /user:domain\user isqlw 

对我而言,这是因为我没有添加该帐户来使用我想用于SQL数据库本身的angular色。 还由于密码错误尝试通过复制粘贴问题locking帐户。

好吧,完全在那里回答我。 我从VM VirtualBox托pipe的开发环境中得到这个错误。 三台服务器 SharePoint,SQL数据库和域控制器。 SharePoint服务器无法连接到configuration数据库。 我仍然可以通过ODBC连接使用SA帐户进行Sql身份validation,但不能使用Windows身份validation。 但是那个用户会很高兴地在sql server上loginSSMS。 我也从ODBC获得了更好的错误消息,也检查了sql server上的失败的login消息:

 select text from sys.messages where message_id = '18452' and language_id = 1033 

因为我向我们的企业系统pipe理员寻求帮助,在5分钟内我发现他给我看了几个屏幕截图。 问题是域控制器的时钟设置不正确! 简直不敢相信。 服务器设置为只有主机的networking,所以没有互联网来同步时钟。 这也解释了为什么当我知道系统正在工作时回滚到较早的快照并不能解决问题。

编辑:在服务器上安装Guest Additions将客人时钟与主机同步。

jTDS驱动程序上有一个名为USENTLMV2的设置,默认设置为false。 在我的db软件(DBVisualizer)中将其设置为“true”可以解决这个问题。

您可能会看到的另一种情况是当您尝试从SSMS会话连接到另一个SQL服务器时,该会话在更改密码时已经login。 事件的顺序可能是这样的:

  1. RDP到Server-A(您的SQL Server),打开SSMS并login
  2. RDP到服务器-B在同一个域中,并更改您的密码
  3. 返回到服务器A上的RDP会话,并通过SSMS尝试将另一个数据库添加到现有的AlwaysOn可用性组中。 当连接到副本时,你会得到“不受信任的域”-login-error

要解决,只需注销并重新login即可

我一直在尝试从一个域帐户login到SQL Server 2008。 SQL Server 2008位于不属于该域的不同工作组计算机上。 听起来很奇怪,在运行SQL Server 2008的工作组服务器上,我必须去系统属性| 计算机名称(选项卡)| 更改(button)| 计算机名称更改| 更多…(button)并input“此计算机的主要DNS后缀”(它是空白的,所以为您的networkinginput所需的后缀)并选中“更改域成员资格时更改主DNS后缀”框。 这使login到SQL Server 2008时可以完成Windows身份validation过程。

我必须使用netonly才能在现代Windows上工作:

runas /netonly /user:domain\user "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\ssms.exe"

另一个原因>有人更改了默认SQL用户的密码

这发生在几分钟前我切换到一个新的域控制器…

为了启用Windows身份validation,两台计算机都需要位于同一个域中。 以允许pipe理工作室在sql框中传递当前凭证并进行身份validation

对我来说,我必须从域中断开(更改工作组/域)并重新连接。

我更换了连接string,并开始工作

 main_sqlconnection = New SqlConnection("Data Source=Server1\SQLEXPRESS;Initial Catalog=Master;Trusted_Connection=True") 

 main_sqlconnection = New SqlConnection("Data Source=Server1\SQLEXPRESS;Initial Catalog=Master;User ID=ARM;Password=1;") 

我创build了帐户User ID=User;Password=1; 在Microsoft SQL Server Management Studio中:单击安全性并添加一个新用户。

另一个可能的原因是:在数据库服务器上新build的本地帐户有:“用户必须在下次login时更改密码”标志设置。

您需要首先启用sa帐户,然后使用sa帐户login到您的SQLpipe理工作室(请selectSQl服务器validation)。

使用sa帐户login后,转到security ,右键单击logins ,selectnew login ,selectSQL Server authentication ,创build一个用户名(无/或任何其他特殊字符,只是一个名称),然后给它一个密码,确认密码,并在该页面的底部select您的默认数据库。

转到logins ,右键单击您创build的用户,然后单击properties

转到“ Server Roles并select要为您创build的用户分配的angular色。

单击OK并返回到login properties ,单击User Mapping ,双击要将该用户映射到的数据库,并在底部窗口中select该数据库的数据库angular色成员资格。

下面是为我解决的问题:networking连接的属性点击:“Internet Protocol Version 4(TCT / IPv4)”。 点击“属性”button。 点击“高级”button。 select“DNS”选项卡。 删除“此连接的DNS后缀”中的文本。

我无法远程连接到SQL服务器。 SQL服务器和远程服务器都在同一个域中。 而且前几天我被要求更改密码。 重新启动SQL服务器和远程服务器我试图访问SQL服务器从我做的伎俩。

在我们的例子中,开发人员在自己的帐户下运行应用程序池,并重置了密码,但忘记在应用程序池中更改密码。 咄…

在我的情况下,服务器已被禁用在域控制器。 我进入Active Directory目录中的COMPUTER OU,右键单击服务器,启用它,然后从SQL服务器执行gpupdate / force。 花了一点时间,但终于奏效了。

在我的情况下,在主机文件中,机器名称是用较旧的IP硬编码的。 我用新的replace旧的IP,问题解决了。

主机文件位置

WindowsDrive:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \主机

修改完成159.xx.xx.xxx MachineName

以上都没有为我工作。 我所要做的是:在login屏幕上的SQL Server Management Studio中,select选项>>在networking部分,将networking协议更改为命名pipe道。

此外,我必须做的,使其工作与<default>设置是禁用无线networking(机器也连接到有线局域网)。

我的修补程序是更改web.config文件,以便与SQL连接的新服务器名称相关联(IT Security刚在我的开发框中完成了netdom重命名。

我在C:\Windows\System32\drivers\etc下的主机文件中input错误

 [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. 

确保有如下的条目

 127.0.0.1 localhost 127.0.0.1 localhost servername 

我在机器上解决了这个问题,禁用环回检查设置:

  1. 编辑Windowsregistry:开始 – >运行> Regedit
  2. 导航到:HKLM \ System \ CurrentControlSet \ Control \ LSA
  3. 添加一个名为“DisableLoopbackCheck”的DWORD值
  4. 将此值设置为1

我为一个指向“127.0.0.1”的SQL Server实例使用了一个别名。 把它改成“本地主机”而不是诀窍。