반응형
- /**********************************************************************************************
-- 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
반응형