SQL 2012: Importar DB cambia el esquema de datos originales
-
22-10-2019 - |
Pregunta
Estoy migrando datos de los servidores SQL 2008 R2 a SQL 2012. Por lo tanto, estoy utilizando la tarea de datos de importación SSMS en las máquinas SQL 2012.
Como prueba, copié los archivos de datos de uno de los DBS, hice una "base de datos adjunta" y un esquema comparado con las últimas herramientas de datos de SQL Server.
La diferencia de la adjunta vs. el importado parece simplemente incorrecto. Como ejemplo:
Adjunto:
CREATE TABLE [dbo].[DbEventMessages] (
[EventID] INT IDENTITY (1, 1) NOT NULL,
[EntityType] NVARCHAR (MAX) NOT NULL,
[ContactId] INT NOT NULL,
[Action] NVARCHAR (MAX) NOT NULL,
[DateTime] DATETIME2 (7) NOT NULL,
[InnoVersionType] ROWVERSION NULL,
CONSTRAINT [PK_DbDbEventMessages] PRIMARY KEY CLUSTERED ([EventID] ASC)
);
GO
Importado:
CREATE TABLE [dbo].[DbEventMessages] (
[EventID] INT NOT NULL,
[EntityType] NVARCHAR (MAX) NOT NULL,
[ContactId] INT NOT NULL,
[Action] NVARCHAR (MAX) NOT NULL,
[DateTime] DATETIME2 (7) NOT NULL,
[InnoVersionType] ROWVERSION NOT NULL
);
GO
El esquema importado difiere en
- la propiedad de identidad en la columna clave
- La royversión se cambió de no nula a nula
- Falta la restricción de clave principal
¿Que esta mal aquí? ¿O está funcionando correctamente? Gracias por cualquier comentario ..
Solución
Tome una copia de seguridad de las bases de datos SQL Server 2008 y restaurelo en SQL Server 2012. Es un enfoque mucho más rápido y confiable para migrar una base de datos. No adjunte archivos entre las instancias, el SQL Server 2012 los actualizará a un nuevo formato y perderá la capacidad de usarlos nuevamente en SQL Server 2008.
Como consejo general, intente seguir los procedimientos y pautas, incluidos los pasos de validación previa a la migración desde Actualizar a SQL Server 2012
Asegúrese de migrar toda la información de inicio de sesión y los trabajos de agente SQL relevantes para su (s) base (s) de datos.