Sql Server 安裝找不到文件
好的,我不確定是在這裡還是在伺服器故障上問這個問題,但是 DBA 的常見問題解答說它包括數據庫配置,所以我要在這裡。
我正在一個乾淨的 Windows Server 2012 機器上安裝 Sql Server Express 2012。
安裝似乎一直到最後都很好。
我將程序安裝目錄留在了
C:\Program Files...
.我將實例根目錄更改為
D:\SQLE2012ROOT\
.愉快地安裝chugs,結束時提示安裝完成,但遇到如下錯誤:
Feature: Database Engine Services Status: Failed: see logs for details Reason for failure: An error occurred during the setup process of the feature. Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again. Component name: SQL Server Database Engine Services Instance Features Component error code: 0x851A001A Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
(它還提供了一個 URL,但點擊它只會將您帶到 Microsoft 首頁,該首頁顯示要購買的消費產品,例如 Surface 和 XBox。感謝 MS!)
服務管理器中的 SQL 服務已停止,如果您嘗試啟動它,則會顯示有關服務特定錯誤程式碼的消息
945
,Google搜尋表明這意味著 Sql Server 找不到必要的文件。在嘗試啟動服務後查看事件日誌會顯示這兩個錯誤(每個顯示兩次,一次 for
MSDBData.mdf
和一次 formodel.mdf
):FileMgr::StartLogFiles: Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\modellog.ldf'. Diagnose and correct the operating system error, and retry the operation.
和
FCB::Open failed: Could not open file e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\MSDBData.mdf for file number 1. OS error: 21 (The device is not ready.).
它找不到這些文件是有道理的,因為 E: 是伺服器上的一個光碟機,沒有安裝任何媒體。
百萬美元的問題是為什麼它要在那個位置尋找文件?我已經檢查過了,安裝程序 DID 實際上在我指定的實例根目錄 ( )下的正確位置創建了文件。
D:\SQLE2012ROOT\MSSQL11.SQLE2012\MSSQL\DATA
但是由於某些未知的原因,Sql Server 正在 E: 驅動器上看起來像開發項目建構目錄的地方尋找它們。我查看了系統資料庫並在 C: 上進行了查找,看看是否可以找到它指向這個錯誤目錄的位置並簡單地重新指向它,但我找不到它指向該位置的任何地方。
我已經解除安裝了一次,然後又從頭開始重新安裝,它做了同樣的事情。使用的安裝文件是 64 位的,包括 Management Studio
SQLEXPRWT_x64_ENU
、.我現在已經嘗試了很多東西,但無法安裝 2012。所以我想也許只是去 2016 年看看是否可行。它已安裝,但再次出現與以前相同的錯誤,關於
Waiting on the Database Recovery handle
. 設置完成後,我嘗試手動啟動服務,並在事件日誌中得到相同的錯誤,即無法找到MSDBDATA和MODEL文件,儘管這次它有不同的錯誤路徑。現在它正在嘗試在目錄中查找這些文件D:\B\S2\Sources.obj.x86Release\sql\mkmastr\databases\mkmastr.proj\
。我在 Sql Server 配置管理器中檢查了服務的啟動參數…啟動參數中列出的文件路徑是正確的。我不知道它為什麼要在這個其他不穩定的目錄
中尋找文件。
D:\B\S2...
在探勘更多日誌並發現其他一些錯誤後,終於找到了這個東西。
為了讓它再次執行,我必須按照以下步驟操作……
- 發射
Sql Server Configuration Manager
- 右鍵
SQL Server (INSTANCE)
,點屬性- 在
Log On
選項卡上,點擊Built-in Account
- 選擇
Network Service
- 點擊
OK
以關閉並應用更改。完成這些步驟後,我就可以啟動服務了。但是,我仍然無法登錄,它總是告訴我“無效登錄”。
所以我再次解除安裝並重新安裝,但這一次我在安裝過程中更改了服務帳戶,全部從預設
NT Service\<something>
到內置NTAUTHORITY\LOCAL SERVICE
或NTAUTHORITY\NETWORK SERVICE
. 在設置期間更改了這些,然後一切正常。
我認為您正在嘗試從失敗的安裝中啟動實例。解除安裝並重新安裝 SQL Server 可能會清除此錯誤。
請查看以下處理類似問題的連結。