큰 값 데이터 형식 사용
Microsoft SQL Server 2005 에는 max 지정자가 도입되었습니다. 이 지정자는 varchar, nvarchar 및 varbinary 데이터 형식의 저장 기능을 확장합니다. varchar(max), nvarchar(max) 및 **varbinary(max)**를 큰 값 데이터 형식이라고 합니다. 큰 값 데이터 형식을 사용하여 최대 2^31-1바이트의 데이터를 저장할 수 있습니다.
[!참고] sp_tableoption 저장 프로시저의 'large value types out of row' 옵션을 OFF로 설정할 경우 큰 값 형식의 행 내부 저장 용량 제한은 8,000바이트입니다. 이 옵션을 ON으로 설정하면 행 내부에 16바이트 루트가 저장됩니다. 자세한 내용은 sp_tableoption(Transact-SQL)을 참조하십시오.
큰 값 데이터 형식의 동작은 보다 작은 데이터 형식인 varchar, nvarchar 및 varbinary의 동작과 유사합니다. 이러한 유사성을 통해 SQL Server 에서 큰 문자, 유니코드 및 이진 데이터를 보다 효율적으로 저장하고 검색할 수 있습니다.
큰 값 데이터 형식을 사용하면 이전 버전의 SQL Server 에서 제공하는 text, ntext 및 image 데이터 형식으로는 불가능한 방식으로 SQL Server 에서 작업을 수행할 수 있습니다. 예를 들어 SQL Server 2005 에서는 최대 2^31 바이트의 문자, 이진 및 유니코드 데이터와 같은 대량 데이터를 저장할 수 있는 변수를 정의할 수 있습니다. 자세한 내용은 Transact-SQL 변수를 참조하십시오.
다음 표에서는 큰 값 데이터 형식과 이전 버전의 SQL Server 에서 제공하는 데이터 형식의 관계를 보여 줍니다.
큰 값 데이터 형식 | 이전 버전의 LOB |
---|---|
varchar(max) |
text* |
nvarchar(max) |
ntext* |
varbinary(max) |
image |
* SQL Server 버전 6.5 클라이언트에서는 ntext 데이터 형식이 지원되지 않으므로 **nvarchar(max)**가 인식되지 않습니다.
중요: |
---|
text, ntext 및 image 데이터 형식 대신 varchar(max), nvarchar(max) 및 varbinary(max) 데이터 형식을 사용합니다. |
큰 데이터 값 형식의 동작은 보다 작은 데이터 형식인 varchar(n), nvarchar(n), **varbinary(n)**의 동작과 같습니다. 다음은 특정 시나리오에서의 큰 값 데이터 형식 사용에 대한 설명입니다.
- 커서
큰 값 데이터 형식 변수를 정의할 수 있으므로 FETCH의 큰 값 데이터 형식 열에 있는 데이터를 로컬 변수에 넣을 수 있습니다. 자세한 내용은 FETCH(Transact-SQL)를 참조하십시오.
큰 값 데이터 형식을 사용해도 커서 유형 변환을 강제하는 커서 사용법에는 영향이 없습니다. - 청크 업데이트
UPDATE 문에서 **.**WRITE( ) 절을 지원하므로 기본 큰 값 데이터 열을 부분적으로 업데이트할 수 있습니다. 이는 이전 버전의 SQL Server 에서 제공하는 text, ntext, image 데이터 형식에 지원되는 WRITETEXT 및 UPDATETEXT 텍스트 포인터 작업과 유사합니다. 자세한 내용은 UPDATE(Transact-SQL)를 참조하십시오. - 트리거
inserted 및 deleted 테이블의 큰 값 데이터 형식 열 참조에 AFTER 트리거를 사용할 수 있습니다. 자세한 내용은 CREATE TRIGGER(Transact-SQL)를 참조하십시오. - 문자열 함수
문자와 이진 데이터를 사용할 수 있는 기본 제공 문자열 함수가 큰 값 데이터 형식을 인수로 지원하도록 확장되었습니다. 확장된 함수는 다음과 같습니다.- COL_LENGTH
- CHARINDEX
- PATINDEX
- LEN
- DATALENGTH
- SUBSTRING
문자열 함수에 대한 내용은 문자열 함수(Transact-SQL)를 참조하십시오.