安裝 SQL Server 累積更新或 Service Pack 時,登錄中的數據或記錄檔目錄無效的錯誤
本文可協助您解決安裝 SQL Server 實例累積更新或 Service Pack 時所發生的問題。
原始產品版本:SQL Server
原始 KB 編號: 2565113
徵兆
當您安裝 SQL Server 實例的累積更新或 Service Pack 時,安裝程式可能會失敗,並出現下列其中一個錯誤訊息:
The User Data directory in the registry is not valid. Verify DefaultData key under the instance hive points to a valid directory.
Error code: 0x851A0043
The User Log directory in the registry is not valid. Verify DefaultLog key under the instance hive points to a valid directory.
Error code: 0x851A0044
Error installing SQL Server Database Engine Services Instance Features. The Database Engine system data directory in the registry is not valid.
發生問題時,SQL Server 安裝程式記錄檔 Summary.txt 有下列其中一則訊息:
Detailed results:
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, and then try the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A0043
Error description: The User Data directory in the registry is not valid. Verify DefaultData key under the instance hive points to a valid directory.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.7001.0&EvtType=0xD8FB5EBA%400x97A656BB%401306%4067&EvtType=0xD8FB5EBA%400x97A656BB%401306%4067
Detailed results:
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, and then try the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A0044
Error description: The User Log directory in the registry is not valid. Verify DefaultLog key under the instance hive points to a valid directory.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.7001.0&EvtType=0xD8FB5EBA%400x97A656BB%401306%4068&EvtType=0xD8FB5EBA%400x97A656BB%401306%4068
原因
當資料庫的預設數據或記錄檔位置指向無效的位置時,就會發生此問題。 導致此問題的常見案例如下:
- 變更資料庫和記錄檔的儲存磁碟驅動器,並遺失以更新預設數據和記錄位置。
- 在 [資料目錄] 索引標籤中初始安裝期間,預設數據或記錄路徑的設定錯誤(請參閱 資料庫引擎 組態 - 資料目錄頁面)。
- SQL Server Management Studio 中 [資料庫設定] 底下的預設數據或記錄路徑設定錯誤(請參閱檢視或變更數據和記錄檔的預設位置)。
解決方法
使用下列程式來解決問題。
步驟 1:更正預設數據和記錄檔目錄的有效資料夾路徑
您可以使用 SQL Server Management Studio 或註冊表編輯器,將預設資料目錄和記錄目錄值設定為有效的資料夾路徑。
方法 1:使用 SQL Server Management Studio (SSMS) 和 SQL Server 組態管理員
- 在 SSMS 中,開啟 [物件總管],以滑鼠右鍵按兩下伺服器實例,然後選取 [屬性]。
- 在左側面板中,選取 [ 資料庫設定 ] 頁面。
- 在 [資料庫預設位置] 中,您可以檢視新資料檔和新記錄檔的目前預設位置。
- 若要變更預設位置,請在 [資料 ] 或 [記錄 ] 欄位中輸入新的預設路徑名稱,或選取瀏覽按鈕以尋找並選取路徑名稱。
- 開啟 [SQL Server 組態管理員],並選取 [SQL Server 服務] 。
- 按兩下您的實例,然後選取 [ 進階 ] 索引標籤。
- 檢閱資料路徑屬性,並查看值是否正確。 值呈現灰色,無法從這裡修改。
- 如果值不正確,請使用 方法 2 將它更新為正確的路徑。
方法 2:使用註冊表編輯器
重要
這個章節、方法或工作包含修改登錄的步驟。 如果您未正確修改登錄,可能會發生嚴重問題。 因此,請務必小心執行下列步驟。 為增加保護起見,請先備份登錄,再進行修改。 然後,如果發生問題,您就可以還原登錄。 如需備份和還原登錄的詳細資訊,請參閱如何在 Windows 中備份及還原登錄。
從命令行啟動註冊表編輯器 (Regedit.exe)。
找出並選取登錄子機碼
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL{nn}.Instance\MSSQLServer
。注意
在此登錄子機碼中,
MSSQL{nn}.Instance
代表您系統的對應值。 若要取得此值,請找出並選取登錄子機碼:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\
。在右側面板中,選取 DefaultData 登錄專案,並在指向不正確的位置時輸入有效的路徑。
在右側面板中,選取 DefaultLog 登錄專案,並在指向不正確的位置時輸入有效的路徑。
找出並選取登錄子機碼
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL{nn}.Instance\Setup
。在右側面板中,選取 SQLDataRoot 登錄專案,並在指向不正確的位置時輸入有效的路徑。
步驟 2:重試 Service Pack 或累積更新的安裝
更正受影響實例的數據和記錄路徑之後,您可以重試安裝。
安裝程式可能會顯示實例已經升級,而且可能不允許您只選取 Database Services 元件。 您必須選取該實例的所有功能,安裝程式才能繼續。