반응형
  1. /**********************************************************************************************
    -- Title : [2k5] 2005에서의 테이블 오버플로우 처리
    -- Reference : mcpworld.com
    -- Key word : overflow row_overflow_data 오버플로우
    **********************************************************************************************/
    /*
    ** 2000에서의 테이블 오버플로우 처리
    */
    create table test1_2k
    ( c1 int
    , c2 varchar(5000)
    , c3 varchar(5000)
    );
    go
    /*
    경고: 'test1_2k' 테이블이 만들어졌으나 최대 행 크기(10029)가 행 당 최대 바이트 수(8060)를 초과합니다.
    결과 행 길이가 8060바이트를 넘으면 이 테이블의 행에서 INSERT 또는 UPDATE가 실패합니다.
    */

    create table test2_2k
    ( c1 int
    , c2 varchar(5000)
    , c3 text
    );
    go

    insert into test1_2k values (1, replicate('a',5000), replicate('b',5000));
    /*
    서버: 메시지 511, 수준 16, 상태 1, 줄 1
    허용된 최대값(8060)보다 큰 크기의 행(10017)을 만들 수 없습니다.
    문이 종료되었습니다.
    */
    insert into test2_2k values (1, replicate('a',5000), replicate('b',5000));
    go

    /*
    ** 2005에서의 테이블 오버플로우 처리
    -- 8k를 초과하면 ROW_OVERFLOW_DATA 할당 단위 페이지로 이동시킴
    *
    create table test1_2k
    ( c1 int
    , c2 varchar(5000)
    , c3 varchar(5000)
    );
    go

    create table test2_2k
    ( c1 int
    , c2 varchar(5000)
    , c3 text
    );
    go

    insert into test1_2k values (1, replicate('a',5000), replicate('b',5000));
    insert into test2_2k values (1, replicate('a',5000), replicate('b',5000));
    go
반응형

+ Recent posts