環境:
Windows 2008 r2 x64
SQL Server 2008 r2 x64
安裝過程:
1、安裝Windows 2008
2、安裝SQL Server 2008(C盤下預設安裝路徑,預設執行個體名:MSSQLSERVER,混合登陸方式)
3、安裝AD
出現錯誤:SQL Server預設執行個體(MSSQLSERVER)無法啟動,錯誤碼:17058
日誌錯誤資訊:
initerrlog: Could not open error log file 'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\LOG\ERRORLOG'. Operating system error = 5(Access is
denied.).
The event ID in the application log is 17058.
Also the following error message appears in the system log
The SQL Server (MSSQLSERVER) service terminated with service-specific error
17058 (0x42A2).
分析原因:安裝AD後,系統改為使用域使用者登陸,原先安裝SQL時設定的“本機使用者”資訊已經修改,當前(域)使用者沒有許可權訪問MSSQLSERVER執行個體檔案夾或整個SQL檔案夾。
解決方案:
1、開啟“服務”,找到SQL Server(MSSQLSERVER)服務(或設定執行個體所對應的服務),查看屬性,在“登陸”標籤中選擇“本地系統賬戶”。
2、為保險起見,進行這步操作:開啟SQL Server Configuration Manager(SQL Server組態管理員),在SQL Server Service(SQL Server服務)中找到對應執行個體(名稱和“服務”中的名稱相同)。在“登陸”標籤中選擇“內建賬戶”,並選擇“Local System”(全其他如NETWORK SERVICE也可以,但要保證有許可權)。
3、啟動SQL Server(MSSQLSERVER)服務。
4、如果還是出錯(如126錯誤),那麼進入SQL Server的安裝目錄,給整個安裝目錄分配NETWORK SERVICE及當前登入使用者的許可權,特別是執行個體所在目錄,以及資料庫檔案相關目錄,分配寫入權限。完成後再次啟動服務。
結果:成功啟動SQL Server(MSSQLSERVER)服務。