我将数据从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代理作业。

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top