Usando tipos de dados de valor grande

O especificador máximo expande as capacidades de armazenamento de varchar, nvarchar e tipos de dados varbinary. varchar(max), nvarchar(max) e varbinary(max) são coletivamente chamados de tipos de dados do valor grande. Você pode usar os tipos de dados de valor grande para armazenar até 2^31-1 bytes de dados.

ObservaçãoObservação

Quando a opção 'tipos de valor grande fora de linha' do procedimento armazenado sp_tableoption estiver definida como OFF, o limite de armazenamento na linha para tipos de valor grande será de 8.000 bytes. Uma raiz de 16 bytes é armazenada em linha quando essa opção estiver definida como ON. Para obter mais informações, consulte sp_tableoption (Transact-SQL).

Os tipos de dados de valor grande são semelhantes em comportamento a suas contrapartes menores, varchar, nvarchar e varbinary. Tal semelhança permite ao SQL Server armazenar e recuperar dados de caractere grande, Unicode e binários com maior eficiência.

Com os tipos de dados de valor grande pode-se trabalhar com o SQL Server de uma forma antes impossível ao usar os tipos de dados text, ntext e image das versões anteriores do SQL Server. É possível definir variáveis com capacidade para armazenar grandes quantidades de dados, até 2^31 bytes de dados de caracteres, binários e Unicode. Para obter mais informações, consulte Variáveis Transact-SQL.

A tabela a seguir mostra a relação entre os tipos de dados de valor grande e suas contrapartes de versões anteriores do SQL Server.

Tipos de dados de valor grande

LOB de versões anteriores

varchar(max)

text*

nvarchar(max)

ntext*

varbinary(max)

image

* Não há suporte para clientes do SQL Server versão 6.5 para o tipo de dados ntext; portanto, eles não reconhecem tipos de dados nvarchar(max).

Observação importanteImportante

Use os tipos de dados varchar(max), nvarchar(max)e varbinary(max) no lugar dos tipos de dados text, ntext e image.

Os tipos de dados de valor grande exibem o mesmo comportamento que suas contrapartes menores, varchar(n), nvarchar(n) e varbinary(n). Os itens a seguir descrevem o uso de tipos de dados de valor grande em determinados cenários:

  • Cursores

    Como as variáveis de tipos de dados de valor grande podem ser definidas, os dados de colunas de tipos de dados de valor grande de uma instrução FETCH podem ser colocados em variáveis locais. Para obter mais informações, consulte FETCH (Transact-SQL).

    O uso de tipos de dados de valor grande não afeta o uso do cursor que força a conversão de tipo de cursor.

  • Atualizações em partes

    A instrução UPDATE agora oferece suporte a uma cláusula **.**WRITE ( ) para executar atualizações parciais em colunas subjacentes de dados de valor grande. Isso se assemelha às operações de ponteiro de texto, WRITETEXT e UPDATETEXT, que têm suporte em tipos de dados text, ntext, image nas versões anteriores do SQL Server. Para obter mais informações, consulte UPDATE (Transact-SQL).

  • Gatilhos

    Gatilhos AFTER são permitidos em referências de colunas de tipo de dados de valor grande nas tabelas inserted e deleted. Para obter mais informações, consulte CREATE TRIGGER (Transact-SQL).

  • Funções da cadeia de caracteres

    As funções internas de cadeia de caracteres que podem operar em dados binários e de caracteres são aprimoradas para dar suporte a tipos de dados de valor grande como argumentos. Essas funções incluem o seguinte:

    Para obter mais informações sobre funções de cadeia de caracteres, consulte Funções de seqüência de caracteres (Transact-SQL).