【问题标题】:Insert data from a server to another server No linked sql server 2008将数据从服务器插入到另一台服务器没有链接的sql server 2008
【发布时间】:2013-07-09 23:25:48
【问题描述】:

我需要使用 sqlserver 2008 复制数据

Server1.database.dbo.table 到

Server2.database.dbo.table

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

我的方法

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

我的挑战

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

  2. 某些表可能具有相同的主键和 外键作为目标表所以忽略

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

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

想知道是否有更好的方法?

有什么建议吗? 非常感谢

【问题讨论】:

  • 你能检查一下VS2010(在数据菜单中)提供的内置工具来进行模式和数据比较吗?如果这对您有任何帮助。
  • @Furqan SSDT 应该可以做到。
  • 想知道是否有更好的方法? SSIS,但你无缘无故地放弃了它。 无法使用 SSIS 或任何其他我不知道如何使用的 BI 东西,没有时间学习。 将 SSIS 包装在 SSMS 中的导入/导出数据向导非常易于使用。
  • +1 @ta.speot.is 是正确的,如果你要复制的表格数量多于,比如说,三个,那么你在学习 SSIS 上的时间投入将相形见绌用于为这些表编写脚本和调整脚本。

标签: sql sql-server-2008


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-03-18
      • 2020-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      • 2011-05-23
      • 1970-01-01
      • 2021-07-17
      相关资源
      最近更新 更多