SQL Server错误18456的解决方法

查找问题的过程:(注:用windows账号还是可以登录的)

第一步: 启动所有与SQL有关的服务,问题依旧;

第二步: 查看windows防火墙,被默认启动了,不启动选择项被Disabled

两个提示“由于安全考虑,某些设置由组策略控制”“Windows防火墙正在使用您的域设置”,先用gpedit.msc打组策略编辑器,机算机配置--管理模板--网络--网络连接--Windows防火墙--标准配置文件,查看右边各选项属性,都是未配置状态,问题不在这里。

另外一个提示中提到域设置,域设置不可能禁用SQL Server,并且我查看本地开放端口(netstart -an),25,1433,1434都是开发状态。


晕,会不会是密码错误?


第三步:用windows账号登录

连接成功后, 选择"属性"

右键实例,在"属性"窗口中, 转到"Security"(安全性)项, 查看"服务器身份验证"中设置确为"SQL Server和Windows身份验证模式",

然后执行下面的语句启用sa用户, 同时更改sa的密码

EXEC sp_password 'sa',null,'sa'

ALTER LOGIN sa ENABLE


执行出错:

消息 15116,级别 16,状态 1,第 1 行

密码有效性验证失败。该密码太短,不符合 Windows 策略要求。


哈哈,问题找到。


本地设置可能被域设置覆盖。而域设置中指定了安全策略,密码必须有一定的复杂性。重新更改sa密码,

EXEC sp_password 'sa','Uiop_098Mn','sa'

ALTER LOGIN sa ENABLE


问题解决!


(文/哈帝  出处/赛迪网)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [SQL Server] 的这些文章也感兴趣:

Build SQL Server
优化SQL Server索引的小技巧
Analysis Services 2005中数据完整性处理(1)
访问 Microsoft SQL Server 元数据的三种方法
sql server 2008 offer 4 kinds of date datatypes
从Oracle到Sql Server--Sql智能翻译器
SQL Server 2005 数据转换服务中的模糊查找和模糊分组
SQL Server SQL语句导入导出大全
安装SQL Server 2005中的AdventureWorks数据库
SQL Server 2005 中的商务智能和数据仓库(1)