Sql server 从一台服务器到另一台服务器(500mb)的SQL数据每日拷贝2次-最佳做法是什么?

Sql server 从一台服务器到另一台服务器(500mb)的SQL数据每日拷贝2次-最佳做法是什么?,sql-server,Sql Server,我们希望每天两次将服务器“a”上SQL表中的数据(500MB)移动到服务器“B”。每次都可以删除并重新填充目标中的数据。目标表与源表是一个表 实现这一目标的最佳方式是什么?这是一个运行BCP的作业?我希望推到一个视图,以便在需要时允许将来更改后端表结构。这有意义吗 这两台服务器都是Microsoft SQL Server 2012 多谢各位 我要尝试的第一件事是在目标服务器上执行一个合并,作为链接服务器从源服务器中提取。您可以写入合并,使其完全更新目标表,但它仅在进行实际更改时执行写入。如果增量

我们希望每天两次将服务器“a”上SQL表中的数据(500MB)移动到服务器“B”。每次都可以删除并重新填充目标中的数据。目标表与源表是一个表

实现这一目标的最佳方式是什么?这是一个运行BCP的作业?我希望推到一个视图,以便在需要时允许将来更改后端表结构。这有意义吗

这两台服务器都是Microsoft SQL Server 2012


多谢各位

我要尝试的第一件事是在目标服务器上执行一个
合并
,作为链接服务器从源服务器中提取。您可以写入合并,使其完全更新目标表,但它仅在进行实际更改时执行写入。如果增量很小,则应该很快。

我要尝试的第一件事是在目标服务器上执行
合并
,作为链接服务器从源服务器中提取。您可以写入合并,使其完全更新目标表,但它仅在进行实际更改时执行写入。如果增量很小,则速度应该很快。

如果出于安全原因,链接服务器不是一个选项,您可能想看看这篇文章:其中的摘录:

Web同步的工作原理

合并代理在订阅服务器上启动。代理执行
以下: 与订阅数据库建立SQL连接。 从数据库中提取任何更改。 向运行IIS的计算机发出HTTPS请求。 将数据更改作为XML消息上载。 托管在运行IIS的计算机上的SQL Server复制侦听器和合并复制协调器执行以下操作: 以下: 响应HTTPS请求。 与发布数据库建立SQL连接。 将上载更改应用于发布数据库。 提取订阅服务器的下载更改。 将HTTPS响应发送回合并代理。然后,订阅服务器上的合并代理接受HTTPS响应并应用 下载更改为订阅数据库


不用说,这两个服务都可以配置为在一台IIS服务器上运行。

如果出于安全原因,链接服务器不是一个选项,您可能想看看这篇文章:其中的摘录:

Web同步的工作原理

合并代理在订阅服务器上启动。代理执行
以下: 与订阅数据库建立SQL连接。 从数据库中提取任何更改。 向运行IIS的计算机发出HTTPS请求。 将数据更改作为XML消息上载。 托管在运行IIS的计算机上的SQL Server复制侦听器和合并复制协调器执行以下操作: 以下: 响应HTTPS请求。 与发布数据库建立SQL连接。 将上载更改应用于发布数据库。 提取订阅服务器的下载更改。 将HTTPS响应发送回合并代理。然后,订阅服务器上的合并代理接受HTTPS响应并应用 下载更改为订阅数据库


不用说,两个服务都可以配置为在一台IIS服务器上运行。

听起来不错,但我们不允许在这里“链接”服务器…:(@usr MERGE必须连接两个表才能找到差异。对于链接服务器,这意味着要么所有必需的数据都必须传输到两台服务器中的一台,要么在远程服务器上每行执行一个查询。更糟糕的是,两台服务器上都将强制执行分布式事务。这将非常缓慢r比BCP、@PanagiotisKanavos更便宜,它还必须复制所有数据。通常,在目标上执行这种合并会在预排序的输入上产生一个超级快速的合并联接。从表中查询500MB非常便宜。需要几秒钟。BCP不必复制所有数据。事实上,有一些技术只允许提取更改的数据,如Change Tracking,可在所有SQL Server版本中使用。此外,即使传输整个数据库,BCP也比MERGE快得多,因为它不需要服务器之间的持续通信,可以以从磁盘读取数据的速度加载数据,并且只需最少的日志记录—根据修改的页面而不是每个页面生成日志记录row.BCP总是比select*from T慢,因为它只做了这一点,还做了其他事情。使用insert.select进行大容量插入是最小的日志记录功能。传输更改可以任意加快,但需要更大的努力。比如10倍。这听起来不错,但我们不允许在此处“链接”服务器…:(@usr MERGE必须连接两个表才能找到差异。对于链接服务器,这意味着要么所有必需的数据都必须传输到两台服务器中的一台,要么在远程服务器上每行执行一个查询。更糟糕的是,两台服务器上都将强制执行分布式事务。这将非常缓慢r比BCP、@PanagiotisKanavos更便宜,它还必须复制所有数据。通常,在目标上执行这种合并会在预排序的输入上产生一个超级快速的合并联接。从表中查询500MB非常便宜。需要几秒钟。BCP不必复制所有数据。事实上,有一些技术只允许提取更改的数据,如Change Tracking,可在所有SQL Server版本中使用。此外,即使传输整个数据库,BCP也比MERGE快得多,因为它不需要服务器之间的持续通信,可以以从磁盘读取数据的速度加载数据,并且只需最少的日志记录—根据修改的页面而不是每个页面生成日志记录row.BCP将始终为