SQL 2012:导入数据库更改原始数据方案
-
22-10-2019 - |
题
我将数据从SQL 2008 R2服务器迁移到SQL2012。因此,我正在使用SSMS 2012机器上的SSMS导入数据任务。
作为测试,我复制了其中一个DBS的数据文件,进行了“附加数据库”,而模式与最新的SQL Server数据工具进行了比较。
与附件与导入的相关的差异似乎是错误的。举个例子:
随附的:
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
导入:
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
进口方案在
- 密钥列上的身份属性
- 排名从不为空变为null
- 主要的密钥约束丢失
这里怎么了?还是正常工作?感谢您的任何评论。
解决方案
备份SQL Server 2008数据库,并在SQL Server 2012上恢复它。它是迁移数据库的速度更快,可靠的方法。请勿在实例之间附加文件,SQL Server 2012将将它们升级到新格式,您将失去在SQL Server 2008上再次使用它们的功能。
作为一般建议,请尝试遵循程序和准则,包括移民前验证步骤 升级到SQL Server 2012
确保您迁移与数据库相关的所有登录信息和SQL代理作业。
不隶属于 dba.stackexchange