內容
在 SQL Server 數據庫上工作時,您可能會在服務器上收到錯誤 825 的警報。錯誤消息如下所示:
消息 825,級別 10,狀態 2,第 1 行。
在失敗 %d 次並出現錯誤後,在偏移量 %#016I64x 處讀取文件 '%ls' 成功:%ls。 SQL Server 錯誤日誌和系統事件日誌中的其他消息可能會提供更多詳細信息。 這種錯誤情況會威脅到數據庫的完整性,必須予以更正。 完成完整的數據庫一致性檢查 (DBCC CHECKDB)。 許多因素都可能導致此錯誤; 有關詳細信息,請參閱 SQL Server 聯機叢書。
SQL Server 錯誤 825 - 它是什麼以及導致它的原因是什麼?
SQL 錯誤 825 是 SQL Server 2005 中引入的讀取重試 (I/O) 錯誤。當讀取操作失敗並且 SQL Server 必須重試操作直到成功時,就會發生這種錯誤。 本質上,該錯誤表明 SQL Server 在完成讀取之前嘗試了幾次(最多 4 次)讀取數據。
如何修復 SQL Server 數據庫致命錯誤 823?
如何修復 SQL 數據庫錯誤 824?
如何修復 SQL Server 錯誤 825?
按照以下順序提供的步驟解決問題:
步驟 1 – 診斷 SQL 錯誤 825
為了診斷 SQL 錯誤 825,您需要找到有關它的更多詳細信息。 檢查SQL 服務器錯誤日誌或系統事件日誌以查找有關錯誤的更多信息。
第 2 步:檢查驅動器硬件的運行狀況
檢查磁盤系統的健康狀況,因為潛在的問題可能與磁盤、磁盤控制器、磁盤控制器或陣列卡等存儲設備有關。
第 3 步 – 聯繫您的硬件製造商
聯繫驅動器製造商以檢查您的驅動器系統的狀態並請求最新的驅動程序更新。
第 4 步 – 將 SQL 數據庫文件移動到新的物理驅動器
如果問題與您的驅動器硬件有關,請嘗試將所有 SQL 數據庫文件移動到新的物理驅動器。 為此,請按照下列步驟操作:
- 為您的機器添加一個新驅動器(稱之為 E)
筆記:確保新驅動器有足夠的磁盤空間來存儲 SQL 數據庫文件,以及當前正在使用的驅動器。
- 在新驅動器上創建與包含數據庫文件的驅動器(驅動器 D)相同的文件夾結構。
- 停止 SQL 服務。
- 將所有文件從驅動器 D 移動到驅動器 E。
- 然後交換驅動器號(D > Y,E > D,Y > E)
- 再次啟動 SQL 服務。
筆記:重新啟動 SQL 服務時,您可能會遇到權限錯誤。 如果是這樣,請務必設置適當的權限。
下一步是什麼?
上述說明步驟將幫助您修復 SQL 825 錯誤。但是如上所述,SQL 825 錯誤威脅到數據庫的完整性。 因此,您應該運行 DBCC CHECKDB 來檢查 SQL 數據庫頁面的邏輯和物理一致性、索引關係、系統表引用完整性和其他結構檢查。
如果 DBCC CHECKDB 報告 SQL 數據庫損壞,您可以從上次已知的良好備份恢復數據庫。 但是,如果備份不可用或已損壞,DBCC 會提供多種修復選項來修復 SQL 數據庫損壞。
讀這個: 如何使用 DBCC CHECKDB 命令修復 SQL 數據庫
但是,將 DBCC CHECKDB 與 REPAIR_ALLOW_DATA_LOSS 命令一起使用會導致數據丟失。 此外,它可能無法修復嚴重損壞的數據庫文件。 在這種情況下,請使用專門的 SQL 修復工具(如 Stellar Repair for MS SQL)來修復和恢復數據庫,同時保持數據完整性。
觀看視頻了解流程 使用 Stellar Repair for MS SQL Tool 恢復數據庫。
結論
SQL Server I/O 錯誤 825 表示第一次嘗試無法完成讀取操作,必須重新執行該操作。 該錯誤是由於驅動器的硬件問題而發生的,可以通過檢查驅動器的運行狀況並運行最新的驅動程序更新來修復。 如果驅動器有故障,請嘗試將所有數據庫文件移動到新的物理驅動器。
如果 825 錯誤導致 SQL 數據庫損壞,請運行 DBCC CHECKDB 並查看它是否報告損壞錯誤。 如果是這樣,請嘗試從備份中恢復您的數據庫。 如果備份不可用,您將需要使用 DBCC CHECKDB 修復選項修復數據庫。 更好的選擇是使用 Stellar Repair for MS SQL 軟件來修復損壞的數據庫。