項目中使用MS SQL Server 2008作為數據庫服務器。操作系統為MS Windows Server 2008 R2,64位。 在服務器安裝完成之后,就一直沒有重啟過機器,今天對數據庫做了一些簡單調整,主要是想要通過DAC連接到數據庫,由于幾次操作不成功,因此,想重啟下服務器。 結
項目中使用MS SQL Server 2008作為數據庫服務器。操作系統為MS Windows Server 2008 R2,64位。
在服務器安裝完成之后,就一直沒有重啟過機器,今天對數據庫做了一些簡單調整,主要是想要通過DAC連接到數據庫,由于幾次操作不成功,因此,想重啟下服務器。
結果重啟之后悲劇了,MSSQLSERVER直接無法啟動。
查看系統日志,發現以下錯誤信息:
FCB::Open failed: 無法打開文件號 2 的文件 D:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAmastlog.ldf。操作系統錯誤: 5(拒絕訪問。)。
竟然是拒絕訪問,master數據庫的ldf緊接著下一條是類似的內容,只不過是mater數據庫的mdf文件。
這是咋回事呢?
看樣子是文件權限的問題,SQL Server在創建完數據庫以后,會使用一個名為“SQLServer*******”的文件用戶,而在win2008下,此用戶對于管理員的master.mdf與mastlog.ldf文件是只讀權限,因此,在服務啟動的時候,就會導致SQL Server無法正常啟動。看樣子SQL Server會對master數據庫的一些內容進行寫操作。
找到問題根源,解決就很簡單,只需要把這兩個文件的民為“SQLServer*******”的文件用戶權限做一下調整,當然,這個調整是需要管理員權限。
再啟動SQL Server,正常!