[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/MSSQL10.InstanceName/MSSQLServer/LoginMode]。服务器上的注册表里没有MSSQL10.InstanceName这个项而有一个InstanceName项,它下面的MSSQLServer里也没有LoginMode项。哎呀,真是郁闷。
就在我准备放弃时,有个想法跳出来了,“在注册表里搜一下LoginMode”,哈哈,还是挺幸运滴,我搜到了。但是路径完全不一样,我什么也没想,就是一顿改,然后重启SQL Server服务。再次使用sqlcmd测试了一下,哈哈,这次登录成功啦。
下面把步骤说一下,我的注册表路径是[HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Microsoft SQL Server/MSSQL10_50.InstanceName/MSSQLServer],这个文件夹里有LoginMode键,把它由1[windows身份验证模式]改成2[混合模式]就行啦,呵呵,别忘了重启SQL Server服务。
我后来想到了一个原因,就是服务器是Windows 2008 64-bit,所以SQL Server 2008 R2的64-bit版本和32-bit版本写入注册表的位置是不同的。哈哈,收工。
本文介绍了如何通过修改注册表中的LoginMode设置来解决SQL Server登录问题,适用于SQL Server 2008 R2 64位和32位版本在Windows 2008 64位系统上出现的身份验证模式错误。
1168

被折叠的 条评论
为什么被折叠?



