Verwenden von Datentypen mit umfangreichen Werten
Dieser max-Bezeichner erweitert die Speicherfunktionen der varchar-, nvarchar- und varbinary-Datentypen.varchar(max), nvarchar(max) und varbinary(max) werden gemeinsam als Datentypen mit umfangreichen Werten bezeichnet. Sie können die Datentypen mit umfangreichen Werten zum Speichern von bis zu 2^31-1 Byte an Daten verwenden.
Hinweis |
---|
Wenn die Option 'large value types out of row' der gespeicherten Prozedur sp_tableoption auf OFF festgelegt wird, beträgt die Speicherbegrenzung für Daten in Zeilen für Datentypen mit umfangreichen Werten 8.000 Byte. Ein 16-Byte-Stamm wird innerhalb der Zeile gespeichert, wenn diese Option auf ON festgelegt wird. Weitere Informationen finden Sie unter sp_tableoption (Transact-SQL). |
Die Datentypen mit umfangreichen Werten ähneln in ihrem Verhalten ihren kleineren Gegenstücken varchar, nvarchar und varbinary. Durch diese Ähnlichkeit kann SQL Server große Zeichen-, Unicode- und Binärdaten effizienter speichern und abrufen.
Durch die Datentypen mit umfangreichen Werten können Sie SQL Server auf eine Weise verwenden, die mithilfe der text-, ntext- und image-Datentypen aus früheren Versionen von SQL Server nicht möglich war. Sie können z. B. Variablen definieren, die große Datenmengen speichern: bis zu 2^31 Byte an Zeichen-, Binär- und Unicode-Daten.Weitere Informationen finden Sie unter Transact-SQL-Variablen.
Die folgende Tabelle zeigt die Beziehung zwischen den Datentypen mit umfangreichen Werten und ihren Gegenstücken aus früheren Versionen von SQL Server.
Datentypen mit umfangreichen Werten |
LOB-Datentypen aus früheren Versionen |
---|---|
varchar(max) |
text* |
nvarchar(max) |
ntext* |
varbinary(max) |
image |
* SQL Server-Clients, Version 6.5, unterstützen den ntext-Datentyp nicht; sie erkennen daher nvarchar(max) nicht.
Wichtig |
---|
Verwenden Sie die varchar(max)-, nvarchar(max)- und varbinary(max)-Datentypen anstelle der text-, ntext- und image-Datentypen. |
Datentypen mit umfangreichen Werten zeigen das gleiche Verhalten wie ihre kleineren Gegenstücke varchar(n), nvarchar(n) und varbinary(n). Der folgende Abschnitt beschreibt das Verwenden von Datentypen mit umfangreichen Werten in einigen besonderen Szenarien:
Cursor
Da Variablen für Datentypen mit umfangreichen Werten definiert werden können, können Daten einer FETCH-Anweisung aus Spalten mit Datentypen mit umfangreichen Werten in lokalen Variablen gespeichert werden. Weitere Informationen finden Sie unter FETCH (Transact-SQL).
Das Verwenden von Datentypen mit umfangreichen Werten wirkt sich nicht auf die Cursorverwendung aus, die eine Cursortypkonvertierung erzwingt.
Segmentierte Aktualisierungen
Die UPDATE-Anweisung unterstützt nun eine **.**WRITE( )-Klausel zum Ausführen von Teilaktualisierungen der zugrunde liegenden Spalten mit Datentypen mit umfangreichen Werten. Dieser Vorgang ähnelt den Textzeigervorgänge WRITETEXT und UPDATETEXT, die für text-, ntext- und image-Datentypen in früheren Versionen von SQL Server unterstützt wurden. Weitere Informationen finden Sie unter UPDATE (Transact-SQL).
Trigger
AFTER-Trigger sind für Spaltenverweise von Datentypen mit umfangreichen Werten in den inserted- und deleted-Tabellen zulässig. Weitere Informationen finden Sie unter CREATE TRIGGER (Transact-SQL).
Zeichenfolgenfunktionen
Die integrierten Zeichenfolgefunktionen, die für Zeichen- und Binärdaten ausgeführt werden können, wurden für die Unterstützung von Datentypen mit umfangreichen Werten als Argumenten optimiert. Dabei handelt es sich z. B. um die folgenden Funktionen:
Informationen zu Zeichenfolgefunktionen finden Sie unter Zeichenfolgenfunktionen (Transact-SQL).