SQLSERVER2000数据库“用户^_^sa^_^登录失败。原因:未与信任SQLServer连接”解决方法
一.控制面板-》服务-》MSSQLSERVER-》登陆--》本地系统帐户--》重新启动MSSQLSERVER
用windows验证登陆查询分析器--》执行sp_passwordnull,sa新密码,'sa'
二."无法连接到服务器,用户xxx登陆失败"
该错误产生的原因是由于SQLServer使用了"仅Windows"的身份验证方式,
因此用户无法使用SQLServer的登录帐户(如sa)进行连接.解决方法如下所示:
1.在服务器端使用企业管理器,并且选择"使用Windows身份验证"连接上SQLServer
操作步骤:
在企业管理器中
--右键你的服务器实例(就是那个有绿色图标的)
--编辑SQLServer注册属性
--选择"使用windows身份验证"
--选择"使用SQLServer身份验证"
--登录名输入:sa,密码输入sa的密码
--确定
2.设置允许SQLServer身份登录
操作步骤:
在企业管理器中
--展开"SQLServer组",鼠标右键点击SQLServer服务器的名称
--选择"属性"
--再选择"安全性"选项卡
--在"身份验证"下,选择"SQLServer和Windows".
--确定,并重新启动SQLServer服务.
在以上解决方法中,如果在第1步中使用"使用Windows身份验证"连接SQLServer失败,
那就通过修改注册表来解决此问题:
1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器
2.依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
3.在屏幕右方找到名称"LoginMode",双击编辑双字节值
4.将原值从1改为2,点击"确定"
5.关闭注册表编辑器
6.重新启动SQLServer服务.
此时,用户可以成功地使用sa在企业管理器中新建SQLServer注册,
但是仍然无法使用Windows身份验证模式来连接SQLServer.
这是因为在SQLServer中有两个缺省的登录帐户:
BUILTIN\Administrators
<机器名>\Administrator被删除.
要恢复这两个帐户,可以使用以下的方法:
1.打开企业管理器,展开服务器组,然后展开服务器
2.展开"安全性",右击"登录",然后单击"新建登录"
3.在"名称"框中,输入BUILTIN\Administrators
4.在"服务器角色"选项卡中,选择"SystemAdministrators"
5.点击"确定"退出
6.使用同样方法添加<机器名>\Administrator登录.
说明:
以下注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
的值决定了SQLServer将采取何种身份验证模式.
1.表示使用"Windows身份验证"模式
2.表示使用混合模式(Windows身份验证和SQLServer身份验证).
通过企业管理器进入查询分析执行:EXECsp_passwordNULL,'你的新密码','sa'
如果你在NT下(包括2000)装的SQLServer,则可以这样做:
直接打开"查询分析器"(注意不是从"企业管理器"中进入,可以从开始菜单的程序组进去,如果找不到的话,直接在"运行"中输入"isqlw.exe"也可);
选择"Windows身份验证"进入,不需要输入密码,只要你是本机的系统管理员或者域管理员,此时自动成为SQLServer的管理员;
在查询分析器窗口中输入下面的语句直接更改SA密码:
sp_passwordNull,\'ok\',\'sa\'
运行后sa的密码变为"ok"sp_password存储过程的功能是更改SQLServer登录的密码;
语法格式:sp_password[[@old=]\'old_password\',]{[@new=]\'new_password\'}[,[@loginame=]\'login\']参数说明[@old=]\'old_password\':旧密码;[@new=]\'new_password\':要指定的新密码[@loginame=]\'login\':
要指定的用户返回值:0(成功)或1(失败)以上方法的关键原理在于,从"查询分析器"中以"Windows身份验证"连接SQLServer,
只要你是本机的系统管理员或者域管理员,此时自动成为SQLServer的管理员.
经过小弟测试,在查询分析器中执行:EXECsp_passwordNULL,'','sa'可以清除sa密码,即用户sa密码为空,可以解决部分关于“用户‘sa’登陆失败”的问题(这是由于动易conn.asp的SQL用户sa无法与SQLServer2000接口相连导致)。