2009-12-20 28 views

Respuesta

19

A partir de SQL Server 2005, TEXT/NTEXT/IMAGE están en desuso -. Usted debe utilizar los tipos de datos y (N)VARCHAR(MAX)VARBINARY(MAX) lugar

(N) VARCHAR (MAX) (ver MSDN docs here) y varbinary (max) permitir hasta 2 GBytes de datos

a partir de los documentos de MSDN:

nvarchar [(n | max)]

de longitud variable Unicode datos del personaje n puede ser un valor de 1 a 4,000. max indica que el tamaño máximo de almacenamiento es de 2^31-1 bytes. (= 2 GB)

El (N) VARCHAR (MAX) tipos también permiten toda la función habitual cadena de T-SQL para trabajar en ellos - algo que no era el caso con el texto (N) en absoluto .

Como este MSDN article shows, los tipos de reemplazo son compatibles con disparadores, también:

SQL Server 2008 no permite la texto, ntext o imagen columna referencias en el inserted y deleted tablas para DESPUÉS de desencadenantes. Sin embargo, estos tipos de datos están incluidos solo para fines de compatibilidad con versiones anteriores . El almacenamiento preferido para datos de gran tamaño es utilizar el varchar (max), nvarchar (max), y varbinary (max) datos tipos. Tanto DESPUÉS Y en vez de desencadena apoyo varchar (max), nvarchar (max) y varbinary (max) datos en las tablas insertadas y eliminadas.

+0

Hola Marc, sin embargo, me gustaría saber que NVARCHAR MAX tiene solo 4000 caracteres en unicode ... no estoy seguro acerca de NTEXT. Estoy trabajando en 2008 y la costura funciona bien – DucDigital

+0

Sí, NTEXT sigue siendo compatible en 2008, aunque no estoy seguro del 2008 R2. Está a punto de desaparecer, reemplázalo ahora. Usando NVARCHAR (MAX), también puede usar todas las funciones de cadena normales en su campo; no puede hacer esto en NTEXT en la mayoría de los casos. –

+1

http://sqltips.wordpress.com/2007/05/28/use-varcharmaxnvarcharmax-instead-of-text-ntext/ encontré este. Gracias marc – DucDigital

Cuestiones relacionadas