1. /**********************************************************************************************
    -- Title : [2k] DBCC PAGE 분석하기 - 분석 방법 정리 파일 및 셈플
    -- Reference : dbRang.com
    -- Key word : dbcc page
    **********************************************************************************************/
    /*
    ** 꽉찬 페이지에서 필드만 null로 추가시, 추가된 필드에 데이터 update시 변화 확인
    -- 추가시는 페이지 변화없고 update시 페이지에 데이터가 들어감.
    */
    drop table add_col_t

    create table add_col_t
    ( a int not null identity(1,1) primary key
    , b char(10) not null
    , c varchar(10) not null
    , t text not null
    , e varchar(1000) not null
    )

    insert into add_col_t values (replicate('b1',5),replicate('c1',5), replicate('t1',5), replicate('e1',500))
    insert into add_col_t values (replicate('b2',5),replicate('c2',5), replicate('t2',5), replicate('e2',500))
    insert into add_col_t values (replicate('b3',5),replicate('c3',5), replicate('t3',5), replicate('e3',500))
    insert into add_col_t values (replicate('b4',5),replicate('c4',5), replicate('t4',5), replicate('e4',500))
    insert into add_col_t values (replicate('b5',5),replicate('c5',5), replicate('t5',5), replicate('e5',500))
    insert into add_col_t values (replicate('b6',5),replicate('c6',5), replicate('t6',5), replicate('e6',500))
    insert into add_col_t values (replicate('b7',5),replicate('c7',5), replicate('t7',5), replicate('e7',500))
    insert into add_col_t values (replicate('b8',5),replicate('c8',5), replicate('t8',5), replicate('e8',500))
    insert into add_col_t values (replicate('b9',5),replicate('c9',5), replicate('t9',5), replicate('e9',500))

    select * from add_col_t

    select * from sysindexes where id = object_id('add_col_t')
    -- 1 0xAE0600000100
    -- 255 0xA90600000100

    exec sp_filepageno0 0xAE0600000100  -- 1,1710
    exec sp_filepageno0 0xA90600000100  -- 1,1705

    dbcc traceon (3604)

    dbcc page(credit,1,1710,1)
    dbcc page(credit,1,1711,1)

    alter table add_col_t
    add
        f char(8) null

    select * from add_col_t

    dbcc page(credit,1,1709,1)
    dbcc page(credit,1,1710,1)

    update add_col_t
    set f = '20051201'

    select * from add_col_t

    dbcc page(credit,1,1709,1)
    dbcc page(credit,1,1710,1)

+ Recent posts