Sql-Server

Sql Server 安裝找不到文件

  • January 16, 2021

好的,我不確定是在這裡還是在伺服器故障上問這個問題,但是 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 找不到必要的文件。

在嘗試啟動服務後查看事件日誌會顯示這兩個錯誤(每個顯示兩次,一次 forMSDBData.mdf和一次 for model.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. 設置完成後,我嘗試手動啟動服務,並在事件日誌中得到相同的錯誤,即無法找到MSDBDATAMODEL文件,儘管這次它有不同的錯誤路徑。現在它正在嘗試在目錄中查找這些文件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 SERVICENTAUTHORITY\NETWORK SERVICE. 在設置期間更改了這些,然後一切正常。

我認為您正在嘗試從失敗的安裝中啟動實例。解除安裝並重新安裝 SQL Server 可能會清除此錯誤。

請查看以下處理類似問題的連結。

https://connect.microsoft.com/SQLServer/feedback/details/684859/during-install-set-the-default-location-of-databases-problem

引用自:https://dba.stackexchange.com/questions/146223