是否可以将__MigrationHistory System表移动到新服务器?

时间:2013-12-10 13:02:43

标签: sql-server entity-framework entity-framework-5 sql-server-2012

我们最近将数据库移至新服务器。但是,当时我们不允许Code First迁移来创建数据库。我们使用另一种工具来迁移表和数据。在此期间未移动__MigrationHistory表。 __MigrationHistory是我们原始数据库中的系统表。

我似乎无法找到导入或导出__MigrationHistory表的方法,因此我们可以允许将来的迁移。

我们唯一的另一个想法是让应用程序重新创建数据库并将复制的数据迁移到新版本的数据库。唯一的问题是我们有数百万条记录要移动,这是一个漫长的过程。

1 个答案:

答案 0 :(得分:5)

我使用以下脚本将EF MigrationHistory表从系统表移动到用户表(数据库树结构):

SELECT * INTO [dbo].[TempMigrationHistory] FROM [dbo].[__MigrationHistory];

DROP TABLE [dbo].[__MigrationHistory];

EXEC sp_rename 'TempMigrationHistory', '__MigrationHistory';

这样我可以通过在SSMS下选择标准脚本/导出选项来导出表。

(处理此问题的完整说明为here