为什么我的SQL 2005用Windows身份验证登陆的时候出现18456错误

狼王_ 2011-03-03 04:18:51
...全文
8989 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Smi1ehao 2013-07-23
  • 打赏
  • 举报
回复
不错,解决了!
ScOrPiOzzy 2012-10-14
  • 打赏
  • 举报
回复
四楼的 厉害
xiaoyang905 2011-10-25
  • 打赏
  • 举报
回复
谢了,你这方法很有用!
xiaoyang905 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zaocha321 的回复:]
可能安装的时候没有选择当前用户,先找到自己的系统账户,如上图我的是[zhangzaocha-PC\zhangzaocha]解决办法是用sa用户登陆,执行SQL语句

SQL code

CREATE LOGIN [zhangzaocha-PC\zhangzaocha] FROM WINDOWS
[/Quote]
暴走的柿子饼 2011-06-02
  • 打赏
  • 举报
回复
CREATE LOGIN [zhangzaocha-PC\zhangzaocha] FROM WINDOWS!成功了!
guxinglang2 2011-03-09
  • 打赏
  • 举报
回复
可能安装的时候没有选择当前用户,先找到自己的系统账户,如上图我的是[zhangzaocha-PC\zhangzaocha]解决办法是用sa用户登陆,执行SQL语句
CREATE LOGIN [zhangzaocha-PC\zhangzaocha] FROM WINDOWS

执行这条SQL语句后就行了,具体情况可以联机丛书 CREATE LOGIN
--小F-- 2011-03-09
  • 打赏
  • 举报
回复
昨天我的SQL(Microsoft SQL Server 2005 )登录不上去了,原来是出现了几个小问题,现在记录一下我的解决这几个情况的办法。(解决方法有很多种,这些只是我的解决方法,仅供参考)
查找问题的过程:(注:用windows账号还是可以登录的)
第一步: 启动所有与SQL有关的服务,问题依旧;
第二步: 查看windows防火墙,被默认启动了,不启动选择项被Disabled
两个提示“由于安全考虑,某些设置由组策略控制”“Windows防火墙正在使用您的域设置”,先用gpedit.msc打组策略编辑器,机算机配置-- 管理模板--网络--网络连接--Windows防火墙--标准配置文件,查看右边各选项属性,都是未配置状态,问题不在这里。
另外一个提示中提到域设置,域设置不可能禁用SQL Server,并且我查看本地开放端口(net start ),25,1433,1434都是开发状态。
晕,会不会是密码错误? 问题一、忘记了登录Microsoft SQL Server 2005 的sa的登录密码
解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改密码点击确定就可以了。
问题二、已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)
解决方法:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2005 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2005就可以了。
问题三、无法打开用户默认数据库。登录失败。用户‘sa’登录失败。(Microsoft SQL Server, 错误:4064)
解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,将默认数据库设置成master,点击确定就可以了。



这时还是不行,后来才知道一个最晕的问题,服务器名是 计算机/实例名,FFC50E78A6DF423\server2005 这次全好了,呵呵


********************************************************************************************

下面在转载的升级到2005时出现18456问题的解决方法

在帮一个用户进行系统从Sql2000升级到Sql2005的过程中,遇到了几个问题,因前段时间同时忙于几个项目,没能及时把问题解决方法整理下来。这段时间有些轻松了,更新一下我的blog希望能帮助朋友们解决实践中的问题。



问题描述:

在升级Sql2000的DTS包的时候,试着手工执行了几次,突然系统报18456错误,提示信息是“无法连接到×××服务器”,其他信息为“用户‘sa’登录失败。(Microsoft SQL Server,错误:18456)”。



问题原因:

升级Sql2000的DTS包是这次数据库系统整体升级的一部分。除此之外,系统硬件进行了升级,新升级的系统服务器加入到了用户机构的域中,并更改了数据库sa的用户口令。

原DTS的数据包是保存了原Sql2000数据库库系统的用户凭据,口令自然是原先的数据库口令。在试运行DTS包之前服务器管理员刚刚把新升级成功的数据库服务器加入域。

用户机构的域是设置了“密码策略”。Sql Server 2005的sa用户默认是启用了“强制实施密码策略”。而一般默认的Windows帐户密码策略或者AD(域帐户)密码策略都是3-6次错误口令登陆失败后,系统暂时冻结该用户。冻结的时间要看系统设定的长短。

该问题就出在DTS用错误的sa口令(旧的sa口令)多次试图访问系统,而sa的“强制实施密码策略”起了作用。



图解:

sa帐户被锁定,原因是sa的帐户启用了“强制实施秘密策略”,或者“强制过期”。在登录用户sa的登录属性对话框中,能看到改选项是否选定状态。如下图(1)所示:









图(1)



选中“强制实施秘密策略”后,sql server2005 会调用windows或者域的帐户管理策略。如果是windows的帐号管理策略,可以通过“控制面板”的“本地安全设置”中看到“帐户策略”情况,其中的“密码策略”可以设置用户秘密的失效时间、长短等,另外在“帐户锁定策略”可以设置“帐户锁定阈值”,即帐户用错误的口令尝试登录几次,系统即自动锁定该帐户。可以参考图(2)。











图(2)







如果sql server的帐号已经被锁定,在该帐户的登录属性里面能看到如图(3)所示。













图(3)







周五(10月20日)遇到的问题是因为,旧有的DTS包中设置的链接还是旧数据库的sa口令,当多次测试执行该DTS时,已经超过了尝试sa错误口令的次数,造成了图(3)所示的sql server帐户被锁定。



这是即使用集成windows的帐户登录sql server,取消图(3)“登录已锁定”的勾选。再重新用sa的正确口令登录sql server时,也会出现18456的错误。如图(4)所示。这是因为sa的口令需要重新设置。再次用集成windows的帐户登录sql server的帐户登录sql server进行sa的密码重新设置,即可解决问题。







图(4)





总结:第一,如果数据库安全性没有特殊的要求,去掉图(2)所示的“强制实施秘密策略”勾选,能避免该类问题的发生。第二,从旧系统数据库升级上来的DTS,尽快修改旧链接的sa登录口令,保证系统帐户登录认证不会出问题,同时保证DTS能正确执行。
AcHerat 元老 2011-03-09
  • 打赏
  • 举报
回复
解决呢?
狼王_ 2011-03-09
  • 打赏
  • 举报
回复
可能安装的时候没有选择当前用户,先找到自己的系统账户,如上图我的是[zhangzaocha-PC\zhangzaocha]解决办法是用sa用户登陆,执行SQL语句
CREATE LOGIN [zhangzaocha-PC\zhangzaocha] FROM WINDOWS
永生天地 2011-03-03
  • 打赏
  • 举报
回复
狼王_ 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ssp2009 的回复:]
服务器名称是否正确。
[/Quote]
正确着呢,用sa账户是可以登陆的。。。。。
快溜 2011-03-03
  • 打赏
  • 举报
回复
服务器名称是否正确。

34,595

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧