Utilizzo di tipi di dati per valori di grandi dimensioni

L'identificatore max estende le capacità di archiviazione dei tipi di dati varchar, nvarchar e varbinary. varchar(max), nvarchar(max) e varbinary(max) vengono tutti definiti tipi di dati per valori di grandi dimensioni. È possibile utilizzare i tipi di dati per valori di grandi dimensioni per archiviare fino a 2^31-1 byte di dati.

[!NOTA]

Quando l'opzione 'large value types out of row' della stored procedure sp_tableoption è impostata su OFF, il limite di archiviazione all'interno di righe per i tipi di dati per valori di grandi dimensioni è pari a 8.000 byte. Una radice di 16 byte viene archiviata all'interno di righe quando questa opzione è impostata su ON. Per ulteriori informazioni, vedere sp_tableoption (Transact-SQL).

I tipi di dati per valori di grandi dimensioni hanno un comportamento simile ai tipi di dati per valori di dimensioni minori, ovvero varchar, nvarchar e varbinary. Questa analogia consente a SQL Server di archiviare e recuperare dati di tipo carattere, Unicode e binari di grandi dimensioni in modo più efficiente.

I tipi di dati per valori di grandi dimensioni consentono di utilizzare SQL Server diversamente da quanto consentito dai tipi di dati text, ntext e image delle versioni precedenti di SQL Server. È possibile definire variabili per archiviare quantità elevate di dati, fino a 2^31 byte di dati di tipo carattere, binari e Unicode. Per ulteriori informazioni, vedere Variabili Transact-SQL.

Nella tabella seguente viene illustrata la relazione tra i tipi di dati per valori di grandi dimensioni e i tipi di dati per valori di dimensioni minori disponibili nelle versioni precedenti di SQL Server.

Tipi di dati per valori di grandi dimensioni

Dati LOB (Large Object) delle versioni precedenti

varchar(max)

text*

nvarchar(max)

ntext*

varbinary(max)

image

* Poiché i client SQL Server 6.5 non supportano il tipo di dati ntext, non riconoscono il tipo di dati nvarchar(max).

Nota importanteImportante

Utilizzare i tipi di dati varchar(max), nvarchar(max) e varbinary(max) anziché i tipi di dati text, ntext e image.

I tipi di dati per valori di grandi dimensioni hanno lo stesso comportamento dei tipi di dati per valori di dimensioni minori varchar(n), nvarchar(n) e varbinary(n). Di seguito viene descritto l'utilizzo dei tipi di dati per valori di grandi dimensioni in alcuni scenari specifici:

  • Cursori

    Poiché è possibile definire variabili di tipi di dati per valori di grandi dimensioni, è possibile inserire colonne di questo tipo di dati restituite da un'istruzione FETCH in variabili locali. Per ulteriori informazioni, vedere FETCH (Transact-SQL).

    L'utilizzo di tipi di dati per valori di grandi dimensioni non influisce sull'utilizzo di cursori per l'applicazione della conversione dei tipi di cursori.

  • Aggiornamenti a blocchi

    L'istruzione UPDATE supporta ora una clausola **.**WRITE( ) per l'esecuzione di aggiornamenti parziali nelle colonne di dati per valori di grandi dimensioni sottostanti. Si tratta di un comportamento simile alle operazioni relative ai puntatori di testo WRITETEXT e UPDATETEXT, supportate nei tipi di dati text, ntext e image delle versioni precedenti di SQL Server. Per ulteriori informazioni, vedere UPDATE (Transact-SQL).

  • Trigger

    I trigger AFTER sono consentiti nei riferimenti alle colonne di tipi di dati per valori di grandi dimensioni nelle tabelle inserted e deleted. Per ulteriori informazioni, vedere CREATE TRIGGER (Transact-SQL).

  • Funzioni per i valori stringa

    Le funzioni per i valori stringa predefinite che possono essere utilizzate per i dati di tipo carattere e binari sono state migliorate per supportare i tipi di dati per valori di grandi dimensioni come argomenti. Tra le funzioni per i valori stringa sono incluse le seguenti:

    Per informazioni sulle funzioni per i valori stringa, vedere Funzioni per i valori stringa (Transact-SQL).

Vedere anche

Concetti