在 sql 2012 年将 table 从服务器 A 复制到服务器 B 的最佳方法是什么?
what would be the best way to copy table from server A to server B in sql 2012?
我有 table A 在服务器 1 上,table B 在服务器 2 上。
Table 包含大约 150 万行。
将 table A 复制到服务器 B 的最快方法是什么?每晚。
或者仅将在 table A 中更改的记录带到 table B 中的最快方法是什么?
到目前为止,我尝试 MERGE
和 HASHBYTES
函数一起只捕获更改的记录。如果目标和源 tables 在同一台服务器上,它会完美运行。 (大约需要 1 分钟)。
但是如果目标在服务器 B 上但源在服务器 A 上 - 则需要超过 15 分钟。
您认为此类操作的最佳和最快技术是什么?
某种复制?或者 SSIS 可能是最好的选择?
我的 2 美分。既然你用 "On nightly basis" 限定了你的问题,我会说在 SSIS 中做这个。
我会使用 SSIS,它设计用于在服务器之间进行快速的大型数据复制。
此外,如果您可以删除 table B,那么您可以尝试使用 SELECT INTO 而不是 INSERT INTO。
SELECT INTO 快得多,因为它是最少记录的,但请注意 table B 将在插入 运行.
时被锁定
您也可以尝试在插入之前禁用 Table B 上的索引,稍后再重新启用它们。
我有 table A 在服务器 1 上,table B 在服务器 2 上。 Table 包含大约 150 万行。 将 table A 复制到服务器 B 的最快方法是什么?每晚。
或者仅将在 table A 中更改的记录带到 table B 中的最快方法是什么?
到目前为止,我尝试 MERGE
和 HASHBYTES
函数一起只捕获更改的记录。如果目标和源 tables 在同一台服务器上,它会完美运行。 (大约需要 1 分钟)。
但是如果目标在服务器 B 上但源在服务器 A 上 - 则需要超过 15 分钟。
您认为此类操作的最佳和最快技术是什么?
某种复制?或者 SSIS 可能是最好的选择?
我的 2 美分。既然你用 "On nightly basis" 限定了你的问题,我会说在 SSIS 中做这个。
我会使用 SSIS,它设计用于在服务器之间进行快速的大型数据复制。
此外,如果您可以删除 table B,那么您可以尝试使用 SELECT INTO 而不是 INSERT INTO。
SELECT INTO 快得多,因为它是最少记录的,但请注意 table B 将在插入 运行.
时被锁定您也可以尝试在插入之前禁用 Table B 上的索引,稍后再重新启用它们。