Tengo que cambiar el tipo de datos en una tabla de SQL Server 2008 de varchar (max) a nvarchar (max). Esta tabla tiene datos en ella. ¿Hay alguna manera de cambiar el tipo de datos sin perder los datos?Cambiar una columna de datos de varchar (max) a nvarchar (max) en SQL Server 2008
Respuesta
sólo puede utilizar la sintaxis estándar para alterar la tabla:
ALTER TABLE some_table ALTER COLUMN some_column nvarchar(max)
es probable que desee para reconstruir los índices sin embargo, para asegurarse de que funcionan como se esperaba.
Siempre tome una copia de seguridad así que no importa lo que pase, puede volver a cómo estaban las cosas.
Con eso dicho cambio de varchar(max)
a nvarchar(max)
no debe perder datos.
Nota al margen: es posible que tenga preocupaciones Si estaba cambiando en la otra dirección nvarchar(max)
a varchar(max)
como el proceso tendría que convertir caracteres extendidos en su caso estaban presentes.
Otra opción para minimizar la interrupción (ya que no creo que el ALTER COLUMN
ocurrirá en línea), es:
ALTER TABLE dbo.table ADD new_column NVARCHAR(MAX); -- metadata operation
Ahora se puede actualizar los datos en ondas/lotes/transacciones en lugar de aplicar el cambio a toda la mesa en una transacción larga. Cuando esté satisfecho de que los datos se copian, puede descartar la columna anterior, cambiarle el nombre a la nueva y volver a crear los índices afectados (su columna MAX no puede estar en la clave de ningún índice, pero puede tener inadvertidamente ponerlo en una definición INCLUDE - si ese es el caso, deberías cuestionar eso de todos modos).
Aún querrá reconstruir todos los índices para reclamar el espacio ahora no utilizado (que puede hacer en línea si está utilizando Enterprise Edition).
- 1. sql server 2005 - exportar datos nvarchar (max)
- 2. Varchar (255) a Varchar (MAX)
- 3. VARCHAR (MAX) vs TEXT en SQL Server
- 4. Conversión de nvarchar (4000) a nvarchar (max)
- 5. SQL 2008 - varchar (max) vs tipos de datos de texto
- 6. varchar (max) MS SQL Server 2000, ¿problemas?
- 7. nvarchar (max) versus NText
- 8. SQL Server 2008 R2 Varbinary Max Size
- 9. Convertir entre texto y varchar (MAX) en SQL Server
- 10. Cambiar el tipo de columna de ntext a varbinary (max)
- 11. SQL Server, nvarchar (MAX) o ntext, image o varbinary?
- 12. ¿Cómo cambiar cada columna nvarchar a varchar?
- 13. ¿Cómo veo el contenido completo de una columna de texto o varchar (MAX) en SQL Server 2008 Management Studio?
- 14. T-SQL VARCHAR (MAX) truncado
- 15. Tamaño máximo de varchar (max) en SQL Server 2000
- 16. ¿Cómo inserto/recupero archivos de Excel a la columna varbinary (max) en SQL Server 2008?
- 17. SQL Server 2005/2008: Insertar un archivo en una columna varbinary (max) en Transact-SQL
- 18. ¿Cómo cargo un archivo a una columna varbinary (max) en SQL Server 2008, usando TSQL?
- 19. Tamaño máximo de una varchar (max) variable
- 20. ¿Puedo crear una columna de nvarchar (MAX) usando FluentMigrator?
- 21. Cómo agrego auto_increment a una columna en SQL Server 2008
- 22. ¿Hay desventajas al usar VARCHAR (MAX) en una tabla?
- 23. Columna Varchar (max) no permitida para ser una Clave principal en SQL Server
- 24. ¿Cómo configuro una columna en SQL Server para varchar (max) usando ASP.net EF Codefirst Annotations?
- 25. ¿Por qué no puedo poner una restricción en nvarchar (max)?
- 26. Cualquier trampa oculta que cambie una columna de varchar (8000) a varchar (max)?
- 27. SQL Server 2008 Reporting: Suma de Max del grupo
- 28. cómo asignar una columna VARCHAR (MAX) en NHibernate hbm.xml archivos de asignación
- 29. Longitud de la extensión de archivos varbinary (max) en SQL Server 2008
- 30. ¿Cómo almacenar imágenes en una columna varbinary (max)?
muy buen punto +1 – RThomas