SQL server 2005 18452 错误

决定把数据库装到自己机子上,可是非常不顺利,要选用SQL身份方式登陆,一番配置完成后,非常爽快地提示我连接不成功,一看错误代码,18452,于是又开始漫长的求解过程。。。中文网络遍地不负责任的转贴让我很不爽,以下是被转贴最多的一种方式:

 

==============
无法连接到服务器  
服务器:消息18452,     级别16,状态1  
[Microsoft][ODBC     SQL     Server     Driver][SQL     Server]用户‘sa’登陆失败。原因:未与信任SQL     Server连接相关联   
该错误产生的原因是由于SQL     Server使用了"仅     Windows"的身份验证方式,因此用户无法使用SQL     Server的登录帐户(例如     sa )进行连接,解决方法如下  
   
设置允许SQL     Server身份登录     (基本上这个很有用)
    操作步骤:
    1。在企业管理器中,展开"SQL     Server组",鼠标右键点击SQL     Server服务器的名称  
    2。选择"属性"  
    3。再选择"安全性"选项卡  
    4。在"身份验证"下,选择"SQL     Server和     Windows"
    5。确定,并重新启动SQL     Server服务。
===============

简单明了的五步,但是我在我的SQL server 2005怎么也找不到什么是“企业管理器”,更别谈什么“SQL sever"组了,翻了几十个网页,最终放弃了这种方式。
究其原因,来自微软的官方解释:
How to set up Mixed Mode security (Enterprise Manager)
New Information - SQL Server 2000 SP3.

Security Note  When possible, use Windows Authentication.
To set up Mixed Mode security

Expand a server group.
Right-click a server, and then click Properties.
Click the Security tab.
Under Authentication, click SQL Server and Windows.
Under Audit level, select the level at which user accesses to Microsoft® SQL Server™ are recorded in the SQL Server error log:

这下明白了吧,原来是SQL server 2000 SP3的,那么多网页挂上2005的名头~~~

继续查找,什么TCP/IP,namepipe方法全出来了,就没一个靠谱的,外围配置管理器打开remote control和broswer服务也没用,半天的试验,才发现SQL2005 managment studio里面直接可以解决:

·更改安全身份验证模式

在 SQL Server Management Studio 的对象资源管理器中,右键单击服务器,再单击“属性”。
在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”。
在 SQL Server Management Studio 对话框中,单击“确定”以确认需要重新启动 SQL Server。
从 SQL Server Management Studio 重新启动 SQL Server
在对象资源管理器中,右键单击您的服务器,再单击“重新启动”。如果运行有 SQL Server 代理,则也必须重新启动该代理。

·使用 Transact-SQL 启用 sa 登录帐户 (就是在studio里面点“新建查询”)
执行下列语句以启用 sa 密码并分配一个密码

ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = 'password' ;(引号不要去掉,用自己的密码换掉password)
GO

·使用 Management Studio 启用 sa 登录帐户

在对象资源管理器中,依次展开“安全”、“登录名”,右键单击“sa”,再单击“属性”。
在“常规”页上,您可能需要为 sa 登录名创建密码并确认该密码。
在“状态”页的“登录”部分中,单击“启用”,然后单击“确定”。

基本上可以搞定,我自己建了一个帐户,却没有建表格的权限,最后还是用回了sa。

归根结底,18452错误就是当初安装SQL server的时候没有选windows和SQL双重身份登陆的选项,找到能修改的地方基本就能搞定了。
顺便分享一下找到的18456错误,基本上就是三个原因:你用户名错了;你密码错了,你用户名和密码都错了。总结得很酷

posted @ 2010-06-23 18:06  $walker  阅读(1298)  评论(1编辑  收藏  举报