程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> sql-server 2005數據庫文件恢復:檢測到基於一致性的邏輯 I/O錯誤

sql-server 2005數據庫文件恢復:檢測到基於一致性的邏輯 I/O錯誤

編輯:關於SqlServer

今天sql-server數據庫突然報錯:

SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 校驗和不正確(應為: 0x7c781313,但實際為: 0x67a313c9)。在文件 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\E_BLOCK_DB.mdf' 中、偏移量為 0x00000000a34000 的位置對數據庫 ID 5 中的頁 (1:1306) 執行 讀取 期間,發生了該錯誤。SQL Server 錯誤日志或系統事件日志中的其他消息可能提供了更詳細信息。這是一個威脅數據庫完整性的嚴重錯誤條件,必須立即糾正。請執行完整的數據庫一致性檢查(DBCC CHECKDB)。此錯誤可以由許多因素導致;有關詳細信息,請參閱 SQL Server 聯機叢書。

折騰了許久,解決方案如下:

第一步:先建立一個同名數據庫,停止SQL SERVER2005,將不能打開的.mdf數據庫文件和.ldf文件覆蓋剛新建的f數據庫的兩個文件

第二步:重新啟動數據庫

第三步:在查詢分析器中運行如下代碼:

alter database 數據庫名   set emergency   —將數據庫設置為緊急狀態

use master

declare @databasename varchar(255)

set @databasename=‘數據庫名’         —你的.mdf文件文件名

exec sp_dboption @databasename, N’single‘, N’true’ —將目標數據庫置為單用戶狀態

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N’single‘, N’false’—將目標數據庫置為多用戶狀態

第四步:執行出現“數據庫其他多個文件與數據庫主文件不匹配….”錯誤,再執行一次即可。

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved