2010-06-02 14 views
6

Tenemos algunas tablas en nuestra base de datos SQL Server (2005 & 2008) con columnas definidas como nvarchar (4000). A veces necesitamos poder almacenar más datos que eso y considerar usar nvarchar (max) en su lugar. Ahora a las preguntas.Conversión de nvarchar (4000) a nvarchar (max)

  1. ¿Hay alguna implicaciones de rendimiento que debamos conocer?
  2. ¿Es seguro usar "alter table" para hacer la migración real o hay otra manera?
  3. ¿Algo más que debería saber antes de convertir?

Saludos Johan

Respuesta

8

Hemos tenido que hacer esto también en algunos puntos

  1. No vimos ninguna pega rendimiento, su sido 5 semanas desde el cambio
  2. 'Alter table' está bien siempre que la tabla no se escriba durante la conversión
  3. Asegúrese de tener una copia de seguridad por si acaso y dependiendo de la cantidad de datos en la tabla podría tomar aw hile
+5

La condición en su segundo punto vale la pena repetir, a menudo se necesita planear para lograr ese estado. –

1

Si el texto no cabe en la página con el resto de los datos, el texto se almacenará en otra página. Esto hace que se lea una página adicional de la base de datos. Entonces el rendimiento puede/será más lento. En sistemas con una carga pesada, y un tiempo de respuesta muy restringido, tal vez.

El estudio SQL Server Management probablemente cambie el nombre de la tabla actual, cree una nueva con el nuevo diseño, copie los datos, elimine la tabla anterior. Esto puede ser lento.

No sé si la mesa alternativa funcionará.

Cuestiones relacionadas