Sql server 在sql 2012中,将表从服务器A复制到服务器B的最佳方式是什么?

Sql server 在sql 2012中,将表从服务器A复制到服务器B的最佳方式是什么?,sql-server,tsql,merge,replication,Sql Server,Tsql,Merge,Replication,我有服务器1上的表A和服务器2上的表B。 表包含大约150万行。 将表A复制到服务器B的最快方法是什么?每晚 或者,哪种最快的方式可以只将表A中更改的记录带到表B 到目前为止,我尝试使用MERGE和HASHBYTES函数只捕获更改的记录。如果目标表和源表位于同一台服务器上,它将非常有效。(大约需要1分钟) 但如果目标在服务器B上,而源在服务器A上,则需要15分钟以上的时间 你认为这种手术最好最快的方法是什么 某种复制品?或者SSI是最好的选择?我的2美分。既然你用“每晚”来限定你的问题,我想说的

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

或者,哪种最快的方式可以只将表A中更改的记录带到表B

到目前为止,我尝试使用
MERGE
HASHBYTES
函数只捕获更改的记录。如果目标表和源表位于同一台服务器上,它将非常有效。(大约需要1分钟)

但如果目标在服务器B上,而源在服务器A上,则需要15分钟以上的时间

你认为这种手术最好最快的方法是什么


某种复制品?或者SSI是最好的选择?

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

我会使用SSIS,它被设计用于在服务器之间进行快速大数据拷贝

此外,如果可以删除表B,则可以尝试使用SELECT INTO而不是INSERT INTO

SELECT INTO的速度要快得多,因为它的日志记录最少,但请注意,在insert运行时,表B将被锁定


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

在目标服务器上创建表,然后使用
insert-in
I所做的操作。与使用
MERGE
相同,大约需要12分钟。那么SSIS是最快的方式吗?你是这么说的吗?谢谢,这是最快的方式,考虑到你将在“每晚”的基础上做这件事。设置一次,然后忘记它(制定一次,并安排每晚运行)。