查找問題的過程:(註:用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
問題解決!