决定把数据库装到自己机子上,可是非常不顺利,要选用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错误,基本上就是三个原因:你用户名错了;你密码错了,你用户名和密码都错了。总结得很酷