SQL 2012: Import DB cambia schema di dati originali
-
22-10-2019 - |
Domanda
Sono la migrazione dei dati da SQL Server 2008 R2 a SQL 2012. Pertanto sto usando SSMS Importa dati Task sul SQL 2012 macchine.
Come test ho copiato i file di dati di uno dei DB, ha fatto un "Collega database" e uno schema confrontare con i più moderni strumenti di dati di SQL Server.
Il diff dalla allegata contro l'importazione-sembra semplicemente sbagliato. Per fare un esempio:
In allegato:
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
Importati:
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
I differisce schema importati in
- la proprietà IDENTITY sulla colonna chiave
- il rowversion è stato cambiato da NOT NULL NULL
- il vincolo di chiave primaria manca
Cosa c'è di sbagliato qui? O sta funzionando correttamente? Grazie per eventuali commenti ..
Soluzione
Effettuare un backup dei database SQL Server 2008 e il ripristino in SQL Server 2012. Si tratta di un approccio molto più veloce e affidabile per la migrazione di un database. Non allegare file tra le istanze, SQL Server 2012 li passare a un nuovo formato e si perderanno la possibilità di utilizzare di nuovo in SQL Server 2008.
Come un generale consiglio cercare di seguire le procedure e le linee guida, comprese le fasi di validazione pre-migrazione da aggiornamento a SQL Server 2012
Assicurati di eseguire la migrazione di tutte le informazioni di login e processi di Agente SQL rilevanti per il database (s).