[解決] SQL錯誤945 | 檔案無法存取因此無法開啟資料庫

SQL錯誤945「檔案無法存取、記憶體或磁碟空間不足,因此無法開啟資料庫」是SQL資料庫中常見的錯誤之一。幸運的是,您可以通過調整設定或使用SQL恢復工具處理錯誤945。執行最適合的解決方案並立即修復錯誤945。

文章目錄

「檔案無法存取、記憶體或磁碟空間不足,因此無法開啟資料庫'ooxx'。詳細資訊請參閱SQL Server 錯誤記錄檔。(Microsoft SQL Server, 錯誤: 945) 」

SQL錯誤945是什麼

當資料庫被標記為「IsShutdown」,或者MDF檔案的附加和卸離沒有正確完成,恢復過程不能使資料庫處於一致狀態時,SQL Server錯誤945就會發生。出現這種情況可能有不同的原因:

  • 記憶體最佳化資料表占用的存儲空間過大
  • 由於缺少一些檔案,SQL資料庫修復失敗
  • 使用損毀的備份
  • 資料庫關閉不當
  • 惡意軟體攻擊

當您在為SQL Server錯誤945所困擾時,有六個解決方案可以嘗試。

如何修復SQL錯誤945

根據用戶的經驗提供有針對性的解決方案 — 錯誤945在SQL Server檔案無法存取,因此無法開啟資料庫:

解決1. 擴大硬碟空間

在錯誤通知中可以看到SQL資料庫可能由於磁碟空間不足而無法開啟,刪除相對硬碟上不必要的檔案或添加更大的硬碟是解決SQL Server錯誤945的潛在解決方案。如果擔心資料丟失,可以在刪除之前使用免費的備份軟體提前備份硬碟。

解決2. 確保啟用了「自動成長」

由於必須將資料庫設定為自動成長,因此需要檢查並確保啟用了該選項。下面是實現自動成長的方法:

步驟1. 啟動SQL Server Management Studio並連接到有問題的資料庫。

步驟2. 點選「查看」>「物件總管」。

步驟3. 展開「資料庫」資料夾。

步驟4. 右鍵點選資料庫並選擇「屬性」>點選「檔案」。

步驟5. 找到自動成長設定,並勾選「啟用自動成長」選項。

解決3. 檢查帳戶與權限

您需要檢查您正在使用的帳戶,並確保您擁有正確的權限來執行操作。

解決4. 檢查資料庫的MDF/NDF檔案

如果資料庫的MDF或NDF檔案被標記為唯讀,那麼您可能會遇到SQL錯誤945。因此,請確保MDF和NDF檔案不是顯示為唯讀。移除MDF和NDF檔案的唯讀:

步驟1. 在資料庫中找到「.mdf」或「.ndf」檔案並按右鍵。選擇「內容」>「安全性」,然後會看到群組或使用者名稱:

步驟2. 選擇要授予檔案讀取權的使用者,並檢查權限。

步驟3. 如果權限沒有設定為完全控制,需要通過點選「編輯」變更權限。

步驟4. 然後,您將看到群組或使用者名稱框。在框中,選擇使用者並選擇「完全控制」。

解決5. 使用SQL資料庫修復工具

到錯誤記錄檔查看資料庫為何出錯。如果是由於API(應用程式介面)、不完整的頁面或其他硬體問題相關的持續I/O錯誤,則通過從備份中還原資料庫來解決。如果沒有任何備份可用,您可以使用專業的MS SQL修復工具 — EaseUS MS SQL 資料庫救援軟體修復您的SQL資料庫。

  • 修復損毀的SQL資料庫檔案(MDF/NDF檔案)
  • 修復損毀的SQL Server資料庫部件 — 資料表、 觸發程序、資料表索引、索引鍵、規則、預存程序
  • 從SQL資料庫中恢復已刪除的記錄檔

讓我們看看如何修復您的資料庫:

步驟 1. 停止MS SQL Server。

同時按住 "Windows+R",輸入 services.msc.

找到並雙擊"SQL Server(即時名稱)"。

在屬性窗口中,點擊"Stop"結束SQL Server。然後,點擊"Apply"。

步驟 2. 執行EaseUS SQL修復工具。點擊"Browse"(兩個圓點),選擇損毀的MDF/NDF檔案,然後點擊"Analyze"開始分析您的MDF/NDF檔案。

如果您知道檔案的確切位置,請單擊"Browse"定位資料庫。

如果您不知道檔案的位置,請單擊"Search"搜索.mdf或.ndf文件。

選擇SQL資料庫檔案

步驟 3. 完成後,您將看到視窗左側窗格中列出的所有資料庫對象。選擇要修復的資料庫對象,點擊"Export"。

選擇資料庫對象

步驟 4. 選擇導出資料庫資料的首選方式:"Export to database"(導出到資料庫)或"Export as SQL scripts"(導出為SQL腳本)。如果您選擇"Export to database",您需要進一步選擇伺服器資訊、登入您的帳戶並選擇一個目標資料庫,可以是新的或現有的。

導出SQL資料庫對象

步驟 5. 點擊"OK"之前,需要重啟SQL伺服器。

同時按住"Windows+R"進入services.msc

找到並雙擊"SQL Server(即時名稱)"。

在Properties視窗中,點擊"Start"重啟SQL Server服務,點擊"Apply"應用。

步驟 6. 點擊"OK"將修復後的檔案保存到SQL資料庫中。

解決6. 嘗試DBCC CHECKDB修復

如果沒有可用的備份,您還可以嘗試DBCC CHECKDB修復。但是,我們並不建議此方式,因為這可能會導致SQL資料庫有疑問狀態,然後進一步導致另一個SQL Server資料庫錯誤926。

這篇文章有幫到您嗎?

author icon

最近, Gina 更新文章

謝謝閱讀我的文章。希望我的文章能夠幫你輕鬆有效地解決問題。

了解更多作者資訊

用戶使用體驗

TrustScore 4.7 | 323 用戶評論
  • EaseUS Data Recovery Wizard 是一套相當實用的檔案救援、資料還原工具,可協助我們在誤刪檔案時即時從硬碟、USB 隨身碟、SSD、記憶卡、數位相機或其他儲存裝置中盡可能的找回消失的檔案。

    了解更多
  • Data Recovery Wizard 操作使用相當簡單、易懂,挖出來的檔案也可說是五花八門,凡儲存過必然留下痕跡,都有機會被掃描出來。

    了解更多
  • EaseUS Data Recovery Wizard 加入了媒體預覽功能,支援JPEG、TIF、PNG、MP4、MOV、AVI等檔案格式,用家可以先預覽、再選擇恢復哪一張相片或影片,非常貼心。

    了解更多