sa登陆失败 SQL Server错误18456的解决方法

来源:互联网 发布:大淘客cms收费吗 编辑:程序博客网 时间:2024/04/29 09:40

昨天我的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,点击确定就可以了。

 

SQL2005O数据库连接错误,无法打开默认数据库,4064错误?       我要收藏

2008-01-16 00:23:08

编辑 删除
 由于没有注意,把数据库分离了,没有改变此登陆名的默认数据库.再次打开SQL2005的控制面板却怎么都联不上了.提示:无法打开默认数据库,代码:4064..,,当时看到,这个晕...........
 
 上网查了一些资料,微软官方给出一个解决方法,由于不太懂DOS下的cmdsql命令格式,结果让自己用了一个多小时才解决此问题,真是汗极了..
 
 微软官方说明:http://support.microsoft.com/kb/307864/zh-cn
 
 按照步骤: 
 
  1.单击“开始”,单击“运行”,键入 cmd,然后按 Enter。2.根据 SQL Server 登录使用的身份验证种类,请使用以下方法之一: •如果 SQL Server 登录使用 Microsoft Windows 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter: (我用此方法)
sqlcmd –E -S InstanceName –d master
•如果 SQL Server 登录使用 SQL Server 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter:
sqlcmd -S InstanceName -d master -U SQLLogin -P Password
注意InstanceName 是要连接到的 SQL Server 2005 实例的名称的占位符(指的是数据库服务器名称,我为这搞晕半天)。SQLLogin 是已删除其默认数据库的 SQL Server 登录的占位符。Password 是 SQL Server 登录密码的占位符。3.在 sqlcmd 提示符处,键入以下内容,然后按 Enter:
ALTER LOGIN SQLLogin WITH DEFAULT_DATAbase = AvailDBName
特别注意:这里的SQLLOGIN为你的提示错误那个用户名,且一定用[]括起来,就因为这个一直没有更新成功.再一个AVAILDBNAME 一般用MASTER就行了.
 
 

注意AvailDBName 是可由实例中 SQL Server 登录访问的现有数据库的名称的占位符。

 

 

4、在 sqlcmd 提示符处,键入 GO,然后按 Enter。

通过以上方法,,我的数据库管理器又可以打开了。但愿大家不要出现我这样的低级错误。

原创粉丝点击