SQL Server 服務由於登入失敗而無法啟動
癥狀
在重新啟動 SQL Server、SQL Executive 或 SQL Server Agent 時,可能無法啟動該服務,並顯示以下錯誤資訊:
Error 1069:The service did not start due to a logon failure.
或者
錯誤 1069:由於登入失敗而無法啟動服務
原因
SQL Server、SQL Agent 或 SQL Server Executive 啟動服務帳戶的密碼不正確,因為密碼可能已被更改了。
替代方法
若要解決此問題,請在 SQL Server 主機的 Microsoft SQL Server 服務帳戶中鍵入正確的密碼。
若要在 Microsoft Windows 2000 Server 和 Microsoft Windows XP 中更正該密碼,請按照下列步驟操作: 1. 單擊開始,指向設定,然後單擊控制台。
2. 雙擊管理工具,然後雙擊服務。
3. 雙擊 MSSQLSERVER,然後單擊登入選項卡。
4. 在密碼和確認密碼文字框中鍵入正確的密碼,然後單擊確定。
若要在 Microsoft Windows NT 4.0 中更正該密碼,請按照下列步驟操作: 1. 單擊開始,指向設定,然後單擊控制台。
2. 雙擊服務,然後雙擊 MSSQLSERVER。
3. 在密碼和確認密碼文字框中鍵入正確的密碼,然後單擊確定。
注意:通過 Services 小程式更改該密碼使 SQL Server 可以成功重新啟動;但是,如果安裝了 Microsoft 搜尋(全文檢索搜尋服務),則它要求通過 SQL 企業管理器 (SEM) 進行隨後的密碼更改。
以下一節摘自 SQL Server 2000 聯機圖書:
“After changing the SQL Server service account information in Control Panel, you must also change the SQL Server service account in SQL Server Enterprise Manager.This allows the service account information for Microsoft Search service to remain synchronized as well.
Important:Although the Microsoft Search service is always assigned to the local system account, the full-text search engine tracks the SQL Server service account in Windows.Full-text search and failover clustering are not available if Windows password changes are not reset using SQL Server Enterprise Manager.”(在控制台中更改 SQL Server 服務帳戶資訊後,您還必須在 SQL Server 企業管理器中更改 SQL Server 服務帳戶。這樣,用於 Microsoft 搜尋服務的服務帳戶資訊也會保持同步。重要說明:儘管將 Microsoft Search 服務始終分配給本地系統帳戶,但全文檢索搜尋引擎跟蹤 Windows 中的 SQL Server 服務帳戶。如果沒有使用 SQL Server 企業管理器重設 Windows 密碼更改,則無法使用全文檢索搜尋和容錯移轉叢集。)
通過使用 SEM,按右鍵伺服器,單擊屬性,然後單擊安全選項卡。在啟動服務帳戶下面,輸入相應的帳戶和密碼。
安裝SQL Server2000時是使用預設登入使用者來作為啟動SQL Server服務的帳號(對於自己使用的單機,通常就是administrator了),但是我更改了使用者名稱出現“同於登入失敗而無法啟動服務”的錯誤 以下我試過的方法.
1,把使用者口令改回原來的,再啟動服務
2,使用控制面版服務管理員,找到MSSQLSERVER服務,更改啟動帳號資訊,改成變更後的,再啟動服務
3,也是推薦使用的方法,建立一個新使用者,專門用於啟動SQL Server服務,安裝SQL Server時就使用該使用者來啟動SQL Server,這樣就可以避免用於頻繁更改administrator口令而帶來的1069錯誤了。如果已經安裝好SQL Server,也可以在控制面版服務管理員下更改MSSQLSERVER服務的服務帳號資訊,換成SQL服務專用的使用者。
首先介紹網路上常用的兩種解決方案:
1.我的電腦--控制台--管理工具--服務--右鍵 MSSQLSERVER--屬性--登陸--登陸身份--選擇"本地系統帳戶"
或:
2.我的電腦--控制台--管理工具--服務--右鍵 MSSQLSERVER--屬性--登陸--登陸身份--選擇"此帳戶"--密碼和確認密碼中輸入你修改後的administrator密碼.
兩者的區別:
選擇第一種方式,以後修改了administrator密碼,不用再調整(但要求登陸作業系統的是系統管理員)
選擇第二種方式,以後修改了administrator密碼,還要再重複做上面的操作.
下面是我遇到的一種情況:
今天上午同事又告訴我他的SQL不能登陸自己的“企業管理器”了,報出的錯誤就是“1069 錯誤,由於登入失敗而無法啟動服務”,上網查到了以上兩種方案,但是當我看到了服務的視窗又發現了一個可能引起此問題的地方,如:
我們先找到MSSQLSERVER服務,然後查看它的屬性
發現是使用域帳戶在啟動服務時進行驗證,於是便詢問是否修改過登陸域的密碼,得到答案是修改過,因為域中作了設定,一定時期後要求使用者修改密碼,而且不能 與以前密碼相同(空密碼除外,這個我做過實驗^_^)。於是將這裡的密碼重新進行設定,再重新啟動服務成功,SQL也可登陸成功。
通過這個問題發現,當域的密碼被修改過後,相應服務使用的登陸驗證資訊不會自動更新需要手動來更新,才能解決此問題。如果大家嫌比較麻煩,還是像上面的解決方案那樣直接將登陸身份修改為“本地系統帳戶”比較簡單。