SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:10202320,但實際為 0:0)


問題背景:

客戶數據庫檢測到SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:10202320,但實際為 0:0)


1> 日志如下:

復制代碼
 1 [09:24:55.125] {http--8080-81$879881269} at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273)
 2 [09:24:55.125] {http--8080-81$879881269} at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
 3 [09:24:55.125] {http--8080-81$879881269} at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730)
 4 [09:24:55.125] {http--8080-81$879881269} at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649)
 5 [09:24:55.125] {http--8080-81$879881269} at java.lang.Thread.run(Thread.java:662)
 6 [09:24:55.125] {http--8080-81$879881269} Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:10202320,但實際為 0:0)。
 8 在文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ecology.mdf' 中、偏移量為 0x000013759a0000 的位置對數據庫 ID 5 中的頁 (1:10202320) 執行 讀取 期間,發生了該錯誤。
10 SQL Server 錯誤日志或系統事件日志中的其他消息可能提供了更詳細信息。這是一個威脅數據庫完整性的嚴重錯誤條件,必須立即糾正。請執行完整的數據庫一致性檢查(DBCC CHECKDB)。此錯誤可以由許多因素導致;
12 有關詳細信息,請參閱 SQL Server 聯機叢書。
13 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
14 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454)
15 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388)
16 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:338)
17 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
18 [09:24:55.125] {http--8080-81$879881269} at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
19 [09:24:5
復制代碼

 

 

解決:

復制代碼
1 use db_name
2 go
3 ALTER DATABASE db_name SET SINGLE_USER
4 go
5 DBCC CHECKDB ('db_name', repair_allow_data_loss) with NO_INFOMSGS
6 go
7 ALTER DATABASE db_name SET MULTI_USER
8 go
復制代碼

 

修復結果如下:

復制代碼
 1 消息 8909,級別 16,狀態 1,第 1 行 
 2 表錯誤: 對象 ID 0,索引 ID -1,分區 ID 0,分配單元 ID 0 (類型為 Unknown),頁 ID (1:1748) 在其頁頭中包含錯誤的頁 ID。頁頭中的 PageId = (0:0)。 
 3 該錯誤已修復。 
 4 消息 8909,級別 16,狀態 1,第 1 行 
 5 表錯誤: 對象 ID 0,索引 ID -1,分區 ID 0,分配單元 ID 0 (類型為 Unknown),頁 ID (1:1749) 在其頁頭中包含錯誤的頁 ID。頁頭中的 PageId = (0:0)。 
 6 該錯誤已修復。 
 7 消息 8909,級別 16,狀態 1,第 1 行 
 8 表錯誤: 對象 ID 0,索引 ID -1,分區 ID 0,分配單元 ID 0 (類型為 Unknown),頁 ID (1:1750) 在其頁頭中包含錯誤的頁 ID。頁頭中的 PageId = (0:0)。 
 9 該錯誤已修復。 
10 消息 8909,級別 16,狀態 1,第 1 行 
11 表錯誤: 對象 ID 0,索引 ID -1,分區 ID 0,分配單元 ID 0 (類型為 Unknown),頁 ID (1:1751) 在其頁頭中包含錯誤的頁 ID。頁頭中的 PageId = (0:0)。 
12 該錯誤已修復。 
13 消息 8909,級別 16,狀態 1,第 1 行 
14 表錯誤: 對象 ID 0,索引 ID -1,分區 ID 0,分配單元 ID 0 (類型為 Unknown),頁 ID (1:1772) 在其頁頭中包含錯誤的頁 ID。頁頭中的 PageId = (0:0)。 
15 該錯誤已修復。 
16 消息 8909,級別 16,狀態 1,第 1 行 
17 表錯誤: 對象 ID 0,索引 ID -1,分區 ID 0,分配單元 ID 0 (類型為 Unknown),頁 ID (1:1773) 在其頁頭中包含錯誤的頁 ID。頁頭中的 PageId = (0:0)。 
18 該錯誤已修復。 
19 消息 8909,級別 16,狀態 1,第 1 行 
20 表錯誤: 對象 ID 0,索引 ID -1,分區 ID 0,分配單元 ID 0 (類型為 Unknown),頁 ID (1:1774) 在其頁頭中包含錯誤的頁 ID。頁頭中的 PageId = (0:0)。 
21 該錯誤已修復。 
22 消息 8909,級別 16,狀態 1,第 1 行 
23 表錯誤: 對象 ID 0,索引 ID -1,分區 ID 0,分配單元 ID 0 (類型為 Unknown),頁 ID (1:1775) 在其頁頭中包含錯誤的頁 ID。頁頭中的 PageId = (0:0)。 
24 該錯誤已修復。 
25 CHECKDB 發現有 0 個分配錯誤和 8 個一致性錯誤與任何單個的對象都沒有關聯。 
26 CHECKDB 修復了 0 個分配錯誤和 8 個一致性錯誤,這些錯誤不與任何單個對象相關聯。 
27 修復: 頁 (1:1772) 已從對象 ID 1694629080,索引 ID 0,分區 ID 111059211386880,分配單元 ID 111059211386880 (類型為 In-row data)釋放。 
28 修復: 頁 (1:1773) 已從對象 ID 1694629080,索引 ID 0,分區 ID 111059211386880,分配單元 ID 111059211386880 (類型為 In-row data)釋放。 
29 修復: 頁 (1:1774) 已從對象 ID 1694629080,索引 ID 0,分區 ID 111059211386880,分配單元 ID 111059211386880 (類型為 In-row data)釋放。 
30 修復: 頁 (1:1775) 已從對象 ID 1694629080,索引 ID 0,分區 ID 111059211386880,分配單元 ID 111059211386880 (類型為 In-row data)釋放。 
31 修復: 已為數據庫 'sssss' 中的對象 'dbo.MYCARGOOUTRECORD, IX_MYCARGOOUTRECORD_1' 成功地重新生成了 Nonclustered 索引。 
32 修復: 已為數據庫 'sssss' 中的對象 'dbo.MYCARGOOUTRECORD, IX_MYCARGOOUTRECORD' 成功地重新生成了 Nonclustered 索引。 
33 消息 8928,級別 16,狀態 1,第 1 行 
34 對象 ID 1694629080,索引 ID 0,分區 ID 111059211386880,分配單元 ID 111059211386880 (類型為 In-row data): 無法處理頁 (1:1772)。有關詳細信息,請參閱其他錯誤消息。 
35 該錯誤已修復。 
36 消息 8928,級別 16,狀態 1,第 1 行 
37 對象 ID 1694629080,索引 ID 0,分區 ID 111059211386880,分配單元 ID 111059211386880 (類型為 In-row data): 無法處理頁 (1:1773)。有關詳細信息,請參閱其他錯誤消息。 
38 該錯誤已修復。 
39 消息 8928,級別 16,狀態 1,第 1 行 
40 對象 ID 1694629080,索引 ID 0,分區 ID 111059211386880,分配單元 ID 111059211386880 (類型為 In-row data): 無法處理頁 (1:1774)。有關詳細信息,請參閱其他錯誤消息。 
41 該錯誤已修復。 
42 消息 8928,級別 16,狀態 1,第 1 行 
43 對象 ID 1694629080,索引 ID 0,分區 ID 111059211386880,分配單元 ID 111059211386880 (類型為 In-row data): 無法處理頁 (1:1775)。有關詳細信息,請參閱其他錯誤消息。 
44 該錯誤已修復。 
45 消息 8945,級別 16,狀態 1,第 1 行 
46 表錯誤: 將重新生成對象 ID 1694629080,索引 ID 2。 
47 該錯誤已修復。 
48 消息 8945,級別 16,狀態 1,第 1 行 
49 表錯誤: 將重新生成對象 ID 1694629080,索引 ID 3。 
50 該錯誤已修復。 
51 CHECKDB 在表 'MYCARGOOUTRECORD' (對象 ID 1694629080)中發現 0 個分配錯誤和 4 個一致性錯誤。 
52 CHECKDB 在表 'MYCARGOOUTRECORD' (對象 ID 1694629080)中修復了 0 個分配錯誤和 4 個一致性錯誤。 
53 修復: 頁 (1:1748) 已從對象 ID 2014630220,索引 ID 0,分區 ID 132030806097920,分配單元 ID 132030806097920 (類型為 In-row data)釋放。 
54 修復: 頁 (1:1749) 已從對象 ID 2014630220,索引 ID 0,分區 ID 132030806097920,分配單元 ID 132030806097920 (類型為 In-row data)釋放。 
55 修復: 頁 (1:1750) 已從對象 ID 2014630220,索引 ID 0,分區 ID 132030806097920,分配單元 ID 132030806097920 (類型為 In-row data)釋放。 
56 修復: 頁 (1:1751) 已從對象 ID 2014630220,索引 ID 0,分區 ID 132030806097920,分配單元 ID 132030806097920 (類型為 In-row data)釋放。 
57 修復: 已為數據庫 'sssss' 中的對象 'dbo.MYRECORDMEMORY, IX_MYRECORDMEMORY_1' 成功地重新生成了 Nonclustered 索引。 
58 修復: 已為數據庫 'sssss' 中的對象 'dbo.MYRECORDMEMORY, IX_MYRECORDMEMORY' 成功地重新生成了 Nonclustered 索引。 
59 消息 8928,級別 16,狀態 1,第 1 行 
60 對象 ID 2014630220,索引 ID 0,分區 ID 132030806097920,分配單元 ID 132030806097920 (類型為 In-row data): 無法處理頁 (1:1748)。有關詳細信息,請參閱其他錯誤消息。 
61 該錯誤已修復。 
62 消息 8928,級別 16,狀態 1,第 1 行 
63 對象 ID 2014630220,索引 ID 0,分區 ID 132030806097920,分配單元 ID 132030806097920 (類型為 In-row data): 無法處理頁 (1:1749)。有關詳細信息,請參閱其他錯誤消息。 
64 該錯誤已修復。 
65 消息 8928,級別 16,狀態 1,第 1 行 
66 對象 ID 2014630220,索引 ID 0,分區 ID 132030806097920,分配單元 ID 132030806097920 (類型為 In-row data): 無法處理頁 (1:1750)。有關詳細信息,請參閱其他錯誤消息。 
67 該錯誤已修復。 
68 消息 8928,級別 16,狀態 1,第 1 行 
69 對象 ID 2014630220,索引 ID 0,分區 ID 132030806097920,分配單元 ID 132030806097920 (類型為 In-row data): 無法處理頁 (1:1751)。有關詳細信息,請參閱其他錯誤消息。 
70 該錯誤已修復。 
71 消息 8945,級別 16,狀態 1,第 1 行 
72 表錯誤: 將重新生成對象 ID 2014630220,索引 ID 2。 
73 該錯誤已修復。 
74 消息 8945,級別 16,狀態 1,第 1 行 
75 表錯誤: 將重新生成對象 ID 2014630220,索引 ID 3。 
76 該錯誤已修復。 
77 CHECKDB 在表 'MYRECORDMEMORY' (對象 ID 2014630220)中發現 0 個分配錯誤和 4 個一致性錯誤。 
78 CHECKDB 在表 'MYRECORDMEMORY' (對象 ID 2014630220)中修復了 0 個分配錯誤和 4 個一致性錯誤。 
79 CHECKDB 在數據庫 'db_name' 中發現 0 個分配錯誤和 16 個一致性錯誤。 
80 CHECKDB 在數據庫 'db_name' 中修復了 0 個分配錯誤和 16 個一致性錯誤。
復制代碼

 

修復完成后再查詢這個表就正常了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM