環境:

  • 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)服務。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Frank 的頭像
    Frank

    Frank's Blog

    Frank 發表在 痞客邦 留言(0) 人氣()