首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何排除Server中登录失败的错误?

如何排除Server中登录失败的错误?
EN

Database Administration用户
提问于 2013-11-13 20:01:16
回答 1查看 6.3K关注 0票数 7

对于Server登录错误的疑难解答,有哪些建议?问题如下:

  1. 如何查看完整的错误消息?我的客户端只有一条通用错误消息,它说登录失败了,没有真正的信息/状态信息。
  2. 如果错误日志中没有错误,但我仍然无法连接,怎么办?
  3. 如何读取登录失败(错误18456)错误消息?
  4. 如何排除错误消息中的各种情况?
  5. 什么是Kerberos,为什么我关心它,以及如何修复与它相关的错误?
EN

回答 1

Database Administration用户

发布于 2013-11-13 20:01:16

如何查看完整的错误消息?

要连接到的实例上的Server错误日志将包含Server生成的有关登录失败的任何错误。如果SQL由于某种原因拒绝连接/失败登录,则通常会生成18456错误。在SQL方面,此错误将具有一个错误状态,为错误的原因提供线索。然而,在客户端,您可能会看到或可能看不到有用的细节--很可能只会看到错误状态为1。

要查看完整的错误消息,最好查看要连接到的Server,并查看Server错误日志。如果连接正在连接到Server,则应该会看到连接尝试的错误。在那里,如果您知道在哪里查找,则这些信息比其他错误消息更有用。

如果Server错误日志中没有错误怎么办?

这可能是由几个因素造成的,但很可能您没有处理登录失败。登录失败可以很好地在错误日志中显示自己。在这种情况下,您很可能正在处理连接到Server的失败。您可以先对此问题进行故障排除,并至少验证您正在连接到Server,并且这里没有任何问题。在这个答案中,这篇Technet Twiki文章是一个非常好的资源,至少可以让您开始工作,而不是进入解决问题的所有潜在步骤。

如何读取日志中的错误消息?

对于各种错误状态和错误消息的含义,有几种资源。下面的内容是从这个msdn链路中粘贴的,您可以从18456错误的一些更常见的状态开始。这些状态在将来的版本或您所处的版本中可能会发生变化,因此注意消息和状态并深入了解问题是一个好主意。

国家-意思是

用户ID无效。用户ID无效。6-尝试在Server身份验证中使用Windows登录名。7-登录被禁用,密码不正确。密码是错误的。密码无效。11 -登录有效,但服务器访问失败。登录是有效登录,但服务器访问失败。密码必须更改。

还有很多其他的状态,在编辑中,我会添加更多,或者在其他答案中,您会看到更多。这个链接还有许多其他状态,其中大多数状态对于大多数2000以上版本的Server都有效。重要的是查看服务器端的错误日志并读取消息--在登录失败的情况下,消息往往更有用。

同样,State 1是客户机上的一个通用消息。

其他错误-- Server登录或连接失败的其他错误。在未来的编辑或回答来自其他人,更多的信息也可以添加。

,我该如何处理这些数据?

这取决于..。

显而易见的状态

状态2&5表示无效的用户ID。请检查您正在使用的用户。您的登录是否存在?您是否指定了数据库,登录是否以用户的身份存在?是否已将其映射为该数据库中的用户。

六号州-噢!您正在尝试以使用SQL身份验证的方式传递Active登录名。基本上试图传递'FunDomain\Mwalsh‘的登录名,但是您正在连接到SQL身份验证,而不是信任的。这有点像一个2或5,只是有点描述。

状态7-登录被禁用..。看看哪里是残疾,为什么是残疾,并纠正这种情况。

国家8和9-不良密码。打错了吗?密码更改了吗?

状态18 --我从未在野外遇到过这种情况。但它告诉我们,我们的密码被设置为要更改。我想,如果您从使用SQL身份验证的应用程序(如Great .)连接,您可能会看到这一点。并设置了一个新帐户的密码,需要更改的第一次使用-但您的应用程序不明白这一点,或有一个功能,以改变密码。如果您只使用SSMS,您只需要一个对话框来更改密码,一切都很好。

不太明显的状态

11 & 12意味着同样的事情

是错误消息中的“令牌”一词吗?比如“登录失败的用户‘myDomain\用户名’。原因:基于令牌的服务器访问验证失败,基础设施错误。检查以前的错误。”

这可能是Server服务作为本地系统运行的情况,而不是可能访问域信息的域帐户。

它也可能需要通过kerberos授权--例如,在通过Windows身份验证访问链接服务器和传递凭据时--而双跳需要的是Kerberos,而不是NTLM。所以你需要研究一下Kerberos。

即使是这条消息也可能意味着其他事情--我最近在迁移到具有现有登录的服务器之后看到了这一点--在我的客户端环境中,这是一个非常古老的登录。删除并重新创建登录解决了这个问题。为什么?这可能是一些事情,但这个西蒙·萨宾的邮件在几年前是一个极好的资源在这里。

在回答这个问题之后,我想查看一个关于默认数据库的错误代码,我发现了一个亚伦·伯特兰的伟大博文,他在这里回答了很多问题:-)去查看他的资源以获得更多的错误消息,包括许多不是在Server 2012或2008中,但现在仍然在使用的版本。很棒的东西:-)

票数 9
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/53279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档