科超御商v9.0超市系統sql sever數據庫修復記錄:手工修復IAM頁,修復索引分配映射頁iam 分配錯誤
廣告:
[pos]
uploadchecksale=NO (超市客戶端電腦設置,不檢查銷售數據一致性)
bi_t_client_info的 DBCC 結果。
修復: 對象 ID 1940878677,索引 ID 0,分區 ID 72057596452208640,分配單元 ID 72057596455288832 (類型為 In-row data)的 IAM 鏈已在頁 (1:3228) 前截斷,將重新生成該鏈。
消息 2576,級別 16,狀態 1,第 1 行
索引分配映射(IAM)頁 (1:3228) (位于對象 ID 1940878677,索引 ID 0,分區 ID 72057596452208640,分配單元 ID 72057596455288832 (類型為 In-row data))的上一個指針指向了 IAM 頁 (0:0),但掃描過程中檢測不到它。
該錯誤已修復。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
消息 2576,級別 16,狀態 1,第 3 行
索引分配映射(IAM)頁 (1:3228) (位于對象 ID 1940878677,索引 ID 0,分區 ID 72057596452208640,分配單元 ID 72057596455288832 (類型為 In-row data))的上一個指針指向了 IAM 頁 (0:0),但掃描過程中檢測不到它。
CHECKDB 在表 '(Object ID 1940878677)' (對象 ID 1940878677)中發現 1 個分配錯誤和 0 個一致性錯誤。
Object ID 1940878677)
手工修復IAM頁,修復索引分配映射頁 iam 分配錯誤
IN_ROW_DATA 用于存儲堆分區或索引分區,即heap和B-tree。
LOB_DATA 用于存儲大型對象 (LOB) 數據類型,例如 xml、varbinary(max) 和 varchar(max)。
ROW_OVERFLOW_DATA 用于存儲超過 8,060 字節行大小限制的 varchar、nvarchar、varbinary 或 sql_variant 列中存儲的可變長度數據。
dbcc ind('數據庫','表',0)
選項為0,返回管理行內數據頁的IAM頁,行內數據頁,故此處僅返回 In-row data 相關數據頁。
dbcc ind('數據庫','表',1)
選項為1,返回聚集索引涉及到所有IAM頁及數據頁。
DBCC TRACEON(3604) --讓輸出顯示在控制臺上,而不是默認的錯誤日志中 dbcc page('kmadv_v9',1,3228,3) SELECT name FROM sys.objects WHERE object_id = 1940878677; SELECT name FROM sys.objects WHERE object_id = 36886; DBCC TRACEON(3604) DBCC PAGE(YourDatabaseName, 1, YourIAMPageNumber, 3)
在這個例子中,你需要替換 YourDatabaseName 為你的數據庫名,YourIAMPageNumber 為你想要查看的 IAM 頁的頁碼
-- 查找表Table1相關的IAM頁面
DBCC TRACEON (3604)
DBCC CHECKDB (kmadv_v9) WITH NO_INFOMSGS, ALL_ERRORMSGS;
-- 如果確定是表Table1的IAM頁損壞,嘗試重建索引
DBCC REINDEX (Table1, 'INDEX_ID')
-- 其中'INDEX_ID'是損壞的索引ID,可以從上一個命令的輸出中找到。
select [flow_id] from ic_t_inout_store_detail group by [flow_id] having COUNT(1)>1 select * from ac_t_supjxc_in where flow_id=181641 and icflow_id=748347 select * from ac_t_supjxc_in where flow_id=181667 delete from ac_t_supjxc_in where flow_id=181667 and icflow_id=748373 SELECT * FROM sysobjects where id =1940878677 SELECT name FROM sys.objects WHERE object_id = 1940878677; SELECT name FROM sys.procedures WHERE object_id = 1940878677; select [flow_id] from ac_t_supjxc_out group by [flow_id] having COUNT(1)>1 DBCC CHECKDB (kmadv_v9) WITH NO_INFOMSGS, ALL_ERRORMSGS; select [flow_id] from ic_t_flow group by [flow_id] having COUNT(1)>1 --查找重復記錄
科脈系統客服手機號晚班:13798323519 075582043300 按1
廣告: