解决方法:

一、原因 :

SQL Server使用了"仅 Windows"的身份验证方式,但客户端却使用SQL Server验证方式连接服务器,因此会产生上述的错误提示。

二、解决方法如下:
  1、 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server
  2、 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡;
  3、 在"身份验证"下,选择"SQL Server和 Windows "。
  4、 重新启动SQL Server服务。
在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,那么可能的情况是某些管理员为了安全的需要,删除了在 SQL Server 中的两个缺省的登录帐户:BUILTIN\Administrators 以及<机器名>\Administrator 。那么此时无论用何种方式,用户均无法使用进行连接。
这种情况下,我们可以通过修改一个注册表键值来将身份验证方式改为 SQL Server 和 Windows 混合验证,步骤如下所示:
  1、点击"开始"-"运行",输入regedit,回车进入注册表编辑器;
  2、依次展开注册表项,浏览到以下注册表键:
  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
  3、在屏幕右方找到名称"LoginMode",双击编辑双字节值
  4、将原值从1改为2,点击"确定"
  5、关闭注册表编辑器
  6、重新启动SQL Server服务。
  此时,用户可以成功地使用sa(如果您遗忘了sa的密码,那就回天无术了)在企业管理器中新建SQL Server注册,然后在 SQL Server 中恢复上述两个缺省的登录帐户:BUILTIN\Administrators 以及<机器名>\Administrator 方法如下:
  1、打开企业管理器,展开服务器组,然后展开服务器
  2、展开"安全性",右击"登录",然后单击"新建登录"
  3、在"名称"框中,输入 BUILTIN\Administrators
  4、在"服务器角色"选项卡中,选择"System Administrators"
  5、点击"确定"退出
  6、使用同样方法添加 <机器名>\Administrator 登录。

三、说明:
以下注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
的值决定了SQL Server将采取何种身份验证模式.
1.表示使用"Windows 身份验证"模式
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证).

 posted on 2007-12-06 11:08  wskfire  阅读(596)  评论(0编辑  收藏  举报