SQL Server 2008 Windows身份验证登录错误:登录来自不受信任的域

时间:2009-02-13 17:00:11

标签: sql-server

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

  

登录失败。登录来自   不受信任的域名,不能使用   使用Windows身份验证。   (Microsoft SQL Server,错误:18452)

我可以毫无问题地使用SQL身份验证登录。我突然得到了这个错误。我打开了混合模式身份验证。

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

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

34 个答案:

答案 0 :(得分:47)

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

答案 1 :(得分:37)

对我来说,这发生在我编辑空白drivers/etc/hosts文件并为本地网站添加条目但忽略添加127.0.0.1 localhost

答案 2 :(得分:28)

问题是由关闭的Active Directory服务器引起的,当然无法对Windows帐户进行身份验证。谢谢你的帮助。

答案 3 :(得分:18)

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

127.0.0.1   localhost
127.0.0.1   customname

我需要这样做:

127.0.0.1   localhost
127.0.0.1   localhost   customname

答案 4 :(得分:15)

  

“问题是由关闭的Active Directory服务器导致的,当然无法验证Windows帐户”

它当然不是“因为如果AD不可用,那么Kerberos身份验证会回退到NTLM(域帐户凭据在本地缓存,即使AD / Kerberos不可用,也可以使用它登录)。我想你是这种失败可能有两个同时发生的条件:

  • SQL Server不是本地的(在另一台计算机上)
  • 信任配置为“仅限Kerberos”

或其他特定安全网络/服务器/ AD /机器配置

答案 5 :(得分:10)

我在本地计算机上的服务器实例遇到此问题,发现这是因为我在hosts文件中指向127.0.0.1以及“localhost”以外的其他内容。在我的案例中,有两种方法可以解决这个问题:

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

    *当我在本地盒子上运行sql server实例并尝试从同一台机器上访问它时,这只适用于我。

答案 6 :(得分:10)

确保您未连接到其他域\用户上的VPN。或者,相反,确保 连接,如果这是必需的。

答案 7 :(得分:3)

jTDS驱动程序上有一个名为USENTLMV2的设置,默认情况下设置为false。在我的数据库软件(DBVisualizer)中将其设置为“true”解决了它。

答案 8 :(得分:3)

对我来说,这是因为我没有添加帐户来拥有我想用于SQL数据库本身的角色。而且由于密码尝试失败,通过复制粘贴问题锁定帐户。

答案 9 :(得分:3)

尝试使用其他有效登录using RUNAS command

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 

答案 10 :(得分:3)

我在机器上修复了此问题,禁用了环回检查设置:

  1. 编辑Windows注册表:开始 - >运行>注册表编辑
  2. 导航至:HKLM \ System \ CurrentControlSet \ Control \ LSA
  3. 添加名为“DisableLoopbackCheck”的
  4. 将此值设为1

答案 11 :(得分:3)

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

  1. RDP到Server-A(您的SQL Server),打开SSMS并登录
  2. RDP到同一域中的Server-B并更改密码
  3. 返回Server-A上的RDP会话,并通过SSMS尝试将另一个DB添加到现有的AlwaysOn可用性组中。连接到副本时,您会收到“不受信任的域”-login-error
  4. 要解决此问题,只需注销并重新登录

    即可

答案 12 :(得分:3)

好的,完全没有我的回答。我从VM VirtualBox上托管的开发环境中收到此错误。三台服务器; SharePoint,SQL DB和域控制器。 SharePoint服务器无法连接到配置数据库。我仍然可以通过ODBC连接使用SA帐户进行Sql身份验证,但不能使用Windows身份验证。但是该用户很乐意在sql server本身登录SSMS。我也从ODBC获得了更好的错误消息,并通过检查sql server上的失败登录消息:

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

不能因为我向我们的企业系统管理员寻求帮助而得到赞誉,他在大约5分钟内查看了我发送给他的几个屏幕截图。 问题是域控制器的时钟设置不正确!无法相信。服务器设置为仅主机网络,因此没有互联网与时钟同步。这也解释了为什么当我知道系统工作时回滚到早期的快照并没有解决问题。

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

答案 13 :(得分:2)

您可能误导了您在本地使用的用户名。这是我在Windows 10 Home中的情况。当我在控制面板中查看用户时,我看到名称​​ usrpc01 。但是,当我输入net config workstation时,用户的名称似乎是 spc01 。似乎有人重命名了用户,但内部名称保持不变。

我不知道如何修复Windows用户名(以及C:\Users下的文件夹名称,也指原始内部名称),我在我的数据库服务器上添加了一个新的用户帐户。

答案 14 :(得分:1)

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

几分钟前,通过切换到新的域控制器,这发生在我身上......

答案 15 :(得分:1)

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

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

答案 16 :(得分:1)

我在C:\Windows\System32\drivers\etc

下的主机文件中输入错误
[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

答案 17 :(得分:1)

我正在使用指向" 127.0.0.1"的SQL Server实例的别名。 将其更改为" localhost"而是做了伎俩。

答案 18 :(得分:1)

我一直在尝试从域帐户登录SQL Server 2008。 SQL Server 2008托管在不属于域的不同工作组计算机上。听起来很奇怪,在运行SQL Server 2008的工作组服务器上,我不得不转到系统属性|计算机名称(标签)|改变(按钮)|计算机名称更改|更多...(按钮)并输入“此计算机的主DNS后缀”(它是空白的,因此请为您的网络输入所需的后缀)并选中“在域成员身份更改时更改主DNS后缀”框。这允许在登录SQL Server 2008时完成Windows身份验证过程。

答案 19 :(得分:1)

如果您的Sql Server在不属于域的服务器上运行,并且在连接字符串中使用具有Integrated Security = True的完全限定域名(例如xyz.mypc.com),则可能必须切换使用IP地址,MachineName(SERVER01)或点(。)(如果是本地托管)。

这对我有用,使用fqdn导致上述错误。

答案 20 :(得分:0)

我的修复是将web.config文件更改为与SQL Connection的新服务器名称相关联(IT Security刚刚在我的开发盒上重命名了netdom。

答案 21 :(得分:0)

我也无法远程连接到SQL服务器。 SQL Server和远程服务器都在同一个域中。几天前我被要求更改密码。 重新启动我尝试访问SQL服务器的SQL服务器和远程服务器对我来说都是诀窍。

答案 22 :(得分:0)

就我而言,在主机文件中,机器名称使用较旧的IP进行硬编码。 我用新的IP替换旧IP,问题得到解决。

主机文件位置

WindowsDrive:\ Windows \ System32下\驱动程序\等\主机

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

答案 23 :(得分:0)

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

答案 24 :(得分:0)

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

答案 25 :(得分:0)

以下是为我修复它的原因: 网络连接的属性 单击:“Internet协议版本4(TCT / IPv4)”。 单击“属性”按钮。 单击“高级”按钮。 选择“DNS”选项卡。 删除“此连接的DNS后缀”中的文本。

答案 26 :(得分:0)

另一个可能的原因: 数据库服务器上新创建的本地帐户具有:“用户必须在下次登录时更改密码”标记设置。

答案 27 :(得分:0)

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

答案 28 :(得分:0)

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

答案 29 :(得分:-1)

确保您没有使用" Trusty_Connection = yes"某处。我遇到了同样的问题,我只需将其设置为" no"。

答案 30 :(得分:-1)

当我想在另一台PC上运行我的项目时,我遇到了同样的问题。从

更改连接字符串
Data Source=JOHN-PC\JJ;Initial Catalog=MyDatabase;Integrated Security=True;Pooling=False

Data Source=JOHN-PC\JJ;Initial Catalog=MyDatabase;Persist Security Info=True;User ID=MyUserName;Password=MyUserPassword

帮助了我。

这是原始答案为Login failed.The login is from an untrusted domain...

的链接

希望这会有所帮助。

答案 31 :(得分:-1)

您需要先启用sa帐户,然后使用sa帐户登录SQL管理工作室(请选择SQl服务器身份验证)。

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

转到logins,右键点击您创建的用户,然后点击properties

转到Server Roles,然后选择要为您创建的用户提供的角色。

单击OK并返回login properties,单击User Mapping,双击要将此用户映射到的数据库,然后选择该数据库的数据库角色成员身份。底部窗口。

答案 32 :(得分:-1)

我替换了连接字符串并开始工作

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;")

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

答案 33 :(得分:-2)

只需从连接字符串中删除Trusted_Connection=True属性即可。