큰 값 데이터 형식 사용

최대값 지정자는 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)을 참조하십시오.

[!참고]

데이터를 복제할 경우 max text repl size 옵션을 -1로 구성해야 할 수 있습니다.

큰 값 데이터 형식은 보다 작은 데이터 형식인 varchar, nvarchar 및 varbinary가 동작할 때와 유사하게 동작합니다. 이러한 유사성을 통해 SQL Server에서 큰 문자, 유니코드 및 이진 데이터를 보다 효율적으로 저장하고 검색할 수 있습니다.

큰 값 데이터 형식을 사용하면 이전 버전의 SQL Server에서 제공하는 text, ntext 및 image 데이터 형식으로는 불가능한 방식으로 SQL Server에서 작업을 수행할 수 있습니다. 최대 2^31-1 바이트의 문자, 이진 및 유니코드 데이터와 같은 대량의 데이터를 저장하는 변수를 정의할 수 있습니다. 자세한 내용은 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)를 참조하십시오.

  • 문자열 함수

    문자와 이진 데이터를 사용할 수 있는 기본 제공 문자열 함수가 큰 값 데이터 형식을 인수로 지원하도록 확장되었습니다. 확장된 함수는 다음과 같습니다.

    문자열 함수에 대한 내용은 문자열 함수(Transact-SQL)를 참조하십시오.