sa登陸失敗 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
問題解決!