0

我需要使用 sqlserver 2008 复制数据

Server1.database.dbo.table 到

Server2.database.dbo.table

服务器未链接,也无法链接它们。不能使用 SSIS 或任何其他我不知道如何使用的 BI 东西,没有时间学习。

我的方法

编写所有数据脚本“sql server 向导”“Create Data=true”然后运行脚本。

我的挑战

  1. Server2.database.dbo.table 表中可能不存在某些列

  2. 某些表可能与目标表具有相同的主键和外键,因此请忽略

什么是最好的方法?我可以使用哪些免费工具来映射列?

目前,我正在使用手动脚本,在该脚本中我生成了插入,并且我手动计算了依赖顺序并注释掉了与目标表具有相同主键的列。

想知道有没有更好的方法?

有什么建议么?非常感谢

4

2 回答 2

2

这可能是一个有争议的建议,但请考虑使用 MS Access 作为中介。

Access 将允许您链接两个表,并编写查询以从一个表复制到另一个表。它肯定不会很快,并且您可能会遇到必须解决的超时问题,但是您会获得自动列映射,如果您拥有 MS Office,那么您已经拥有它。

我不建议您将所有数据下载到您的 PC,但我建议您尝试将两个表链接到 Access 数据库并将数据从一个复制到另一个。

如果您的目标数据库没有目标表(尽管听起来确实如此),您必须首先通过脚本创建它们,但 Access 可以完成从一个地方到另一个地方复制数据的充分工作。我称之为“穷人的 SSIS”。

它的优点是,一旦您编写了所需的查询,也许还有一个按顺序执行它们的宏,您就可以保存它们,然后重新执行它们,或者调整它们,而无需操作脚本。

SSIS 仍然是您问题的最佳解决方案,但如果您没有它可用或没有时间学习使用它,我会研究 Access。

于 2013-06-29T10:39:32.830 回答
0

最后,我编写脚本的速度比学习 ssis 快,因为它是一次性的。

于 2013-07-09T15:25:48.027 回答