查找问题的过程:(注:用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
问题解决!