有谁用SQL2005遇到这个错误:
Microsoft OLE DB Provider for SQL Server (0x80004005)
SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:94511,但实际为 2:-268434432)。在文件 'F:\justyle.mdf' 中、偏移量为 0x0000002e25e000 的位置对数据库 ID 8 中的页 (1:94511) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。注:用dbcc checkdb也无法修复。
我的dbcc checkdb脚本如下:
USE master
Go
--单用户模式
EXEC sp_dboption 'justyle', 'single user', 'TRUE'--ALTER DATABASE [isszmv6_branch] SET SINGLE_USER
go
--数据库检查
DBCC CHECKDB ('justyle')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
--数据库修复
--DBCC CHECKDB ('justyle',repair_rebuild)
DBCC CHECKDB ('justyle',repair_allow_data_loss)
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;
DBCC CHECKDB ('justyle')
Go
--否则意味着还需要更高级别的修复;尝试将上面修复语句的'repair_rebuild'换为'repair_allow_data_loss'再试,之后再次检查数据库。
--如果还有错误未修复,
--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'justyle', 'single user','FALSE'--ALTER DATABASE [isszmv6_branch] SET MULTI_USER
go

解决方案 »

  1.   

    其他表依然可以添加编辑删除浏览。就USER表在程序中查询是出错。企业管理器中查询,正常。
      

  2.   

    可能是文件損壞吧
    先把數據庫所在盤,做一次
    磁盤掃描  帶自動糾錯那種,,,
    再用dbcc checkdb看看能不能OK
    不能,,,改還原還原吧
      

  3.   

    如果库不大,能发给一份吗?[email protected]
      

  4.   

    對user表的所有索引,做下rebuild一下看行不行呢?
    太神秘了。,,,企业管理器中查询正常,程序裏不正常- -
    這下就只有圍觀了
      

  5.   

    rebuild出现如下错误:
    由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库。
      

  6.   

    同樣的問題(之前沒有備份,mdf文件好像損壞,無ldf文件)
    用dbcc checkdb也無法修復
    部份資料可以查詢,部份不行
    ----------------------------------
    訊息 8939,層級 16,狀態 98,行 1
    資料表錯誤: 物件識別碼 0,索引識別碼 -1,資料分割識別碼 0,配置單位識別碼 -8260593961752657920 (類型 Unknown),頁面 (27941:-934945901)。測試 (IS_OFF (BUF_IOERR, pBUF->bstat)) 失敗。值為 63047689 和 -1。
    訊息 8921,層級 16,狀態 1,行 1
    檢查結束。收集事實時偵測到失敗。可能是由於 tempdb 空間用完或系統資料表不一致。請檢查先前的錯誤。
    訊息 8998,層級 16,狀態 2,行 1
    GAM、SGAM 或 PFS 頁面上的頁面錯誤阻礙對從 (1:24264) 到 (1:32351) 的資料庫識別碼 46 頁面檢查配置完整性。請參閱其他錯誤以瞭解發生原因。
    訊息 8998,層級 16,狀態 2,行 1
    GAM、SGAM 或 PFS 頁面上的頁面錯誤阻礙對從 (1:121320) 到 (1:129407) 的資料庫識別碼 46 頁面檢查配置完整性。請參閱其他錯誤以瞭解發生原因。
    訊息 8909,層級 16,狀態 1,行 1
    資料表錯誤: 物件識別碼 0,索引識別碼 -1,資料分割識別碼 0,配置單位識別碼 281474976776192 (類型 Unknown),頁面識別碼 (1:121320) 的頁首包含不正確的頁面識別碼。頁首中的 PageId = (42:2009)。
    CHECKDB 找到了沒有與任何單一物件相關聯的 4 個配置錯誤和 0 個一致性錯誤。
    CHECKDB 發現了資料庫 'KPRCS' 中 4 個配置錯誤和 0 個一致性錯誤。
    訊息 824,層級 24,狀態 2,行 1
    SQL Server 偵測到邏輯的一致性 I/O 錯誤: 不正確的頁面識別碼 (預期是 1:117176; 實際是 28:3145776)。這是當在檔案 'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\KPRCS.mdf:MSSQL_DBCC62' 中位移 0x00000039370000 的資料庫識別碼 62 之頁面 (1:117176) 進行 讀取 的期間所發生的。SQL Server 錯誤記錄檔和系統事件記錄檔中的訊息,或許可以提供其他詳細資訊。這是嚴重的錯誤狀況,且可能會損及資料庫的完整性,所以必須立即更正。請執行完整的資料庫一致性檢查 (DBCC CHECKDB)。會導致這個錯誤的原因有許多可能性; 如需詳細資訊,請參閱《SQL Server 線上叢書》。
      

  7.   

    select 'alter index ['+name+'] on 表名 rebuild with (online=on) '
    from sys.indexes
    where [object_id]=object_id('表名') and index_id>1
    执行语句,先把索引rebuild一下看看
      

  8.   

    rebuild index 也沒有作用