【问题标题】:what would be the best way to copy table from server A to server B in sql 2012?在 sql 2012 中将表从服务器 A 复制到服务器 B 的最佳方法是什么?
【发布时间】:2017-06-26 15:34:29
【问题描述】:

我有服务器 1 上的表 A 和服务器 2 上的表 B。 表包含大约 150 万行。 将表 A 复制到服务器 B 的最快方法是什么?每晚。

或者,什么是仅将表 A 中更改的记录带到表 B 中的最快方法?

到目前为止,我尝试了 MERGEHASHBYTES 函数来仅捕获更改的记录。如果目标表和源表在同一台服务器上,它可以完美运行。 (大约需要 1 分钟)。

但是如果目标在服务器 B 上,而源在服务器 A 上 - 则需要超过 15 分钟。

您认为此类操作最好和最快的技术是什么?

某种复制?或者也许 SSIS 会是最好的选择?

【问题讨论】:

  • 在目标服务器上创建表然后使用INSERT INTO
  • 我做到了。与使用 MERGE 相同,大约需要 12 分钟。

标签: sql-server tsql merge replication


【解决方案1】:

我的 2 美分。既然你用“每晚”来限定你的问题,我会说在 SSIS 中这样做。

【讨论】:

  • 那么 SSIS 会是最快的方法吗?你是这么说的吗?谢谢
  • 是的,考虑到您将“每晚”执行此操作,这是最快的方式。设置一次然后忘记它(开发一次并安排每晚运行)。
【解决方案2】:

我会使用 SSIS,它旨在在服务器之间进行快速的大数据复制。

另外,如果您可以删除表 B,那么您可以尝试使用 SELECT INTO 而不是 INSERT INTO。

SELECT INTO 速度更快,因为它的日志记录最少,但请注意,在插入运行时表 B 将被锁定。

您也可以尝试在插入之前禁用表 B 上的索引,然后再重新启用它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多