Share via


Utilizzo di tipi di dati per valori di grandi dimensioni

L'identificatore max consente di estendere 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).

Nota

In caso di replica dei dati potrebbe essere necessaria la configurazione di Opzione max text repl size su -1.

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-1 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 corrispondenti 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 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