【发布时间】:2016-06-13 03:02:03
【问题描述】:
我需要将两台服务器之间的生产数据从 SQL Server 2000 移动到 SQL Server 2012。
数据库已经完美移动。生产数据需要在一夜之间移动并准备好在第二天使用。所以计划如下:
移动所有配置表的数据。
移动另一个表的数据。这里出现了一个问题:我应该如何处理标识列?几乎所有的表都有标识列,在某些情况下它们是外键。这个应该怎么处理?
将作业编写为 create and run 并禁用创建所有作业。
移动 SSIS 数据库和配置表。
更新 SSIS 包内的连接并将它们部署到新服务器上。
还有什么我应该考虑的吗?如何做到第二步不出错?
【问题讨论】:
-
您可以使用
SET IDENTITY_INSERT (tablename) ON将现有标识值插入到具有标识列的表中。一次只有一张桌子 - 完成后立即使用SET IDENTITY_INSERT (tablename) OFF再次将其关闭。这应该照顾身份值 -
您如何移动数据?手动,使用导出的文件?或者您是否使用 SSIS 连接到 SQL 2000 DB,并使用数据泵传输数据?还是???
-
@LaughingVergil 打算手动做,基本上是想运行一个脚本,先截断所有表,然后从旧服务器一个一个插入到新服务器上的表中。主要问题是如何处理外键约束。无论 FK 如何截断表?
-
@marc_s,谢谢 Marc_s。做了一个没有问题的测试。截断表格时FK约束怎么样?
-
这可以在导入向导中完成 - 您只需要知道要选择的(隐藏在可选区域中的)选项。我将把它写在下面的答案中。
标签: sql-server ssis sql-server-2012 sql-server-2000 core-data-migration