반응형
- /**********************************************************************************************
-- Title : [2k] 고스트 레코드(ghost record) 확인
-- Reference : dbRang.com
-- Key word : 고스트 레코드 ghost record
**********************************************************************************************/
use credit
drop table charge_del_test
select top 100000 *
into charge_del_test
from charge
create unique clustered index pk_charge_del_test
on charge_del_test (charge_no)
create index ix_charge_del_test
on charge_del_test (member_no)
create index ix2_charge_del_test
on charge_del_test (charge_dt)
exec sp_spaceused charge_del_test
--charge_del_test 100000 14760 KB 4656 KB 2680 KB 7424 KB
begin tran
delete charge_del_test
where charge_no % 3 = 0
exec sp_spaceused charge_del_test
--charge_del_test 66667 14760 KB 4656 KB 2680 KB 7424 KB
sp_converthex0 'charge_del_test'
-- object_name rootDec root firstIAMDec firstIAM
-- pk_charge_del_test 1:5177 0xF10200000100 1:1719 0xB70600000100
-- ix_charge_del_test 1:2466 0xB20C00000100 1:1717 0xB50600000100
-- ix2_charge_del_test 1:3170 0xF20F00000100 1:1718 0xB60600000100
dbcc traceon(3604)
dbcc traceon(2514) --ghost rec.
dbcc traceon(2509) --forward rec.
dbcc page (credit, 1, 1719, 3)
/*
m_ghostRecCnt = 4
Slot 1 Offset 0x92
------------------
Record Type = GHOST_DATA_RECORD
*/
dbcc page (credit, 1, 17680,3)
--charge_no %3 =0 인 행은 존재하지 않는다.
dbcc checktable(charge_del_test)
-- 'charge_del_test'의 DBCC결과입니다.
-- 582 페이지에 'charge_del_test' 개체에 대한 행이 66667개 있습니다.
-- Forwarded Record count = 0
-- Ghost Record count = 4860
-- DBCC 실행이 완료되었습니다. DBCC에서 오류 메시지를 출력하면 시스템 관리자에게 문의하십시오.
반응형