如何在SQL Server 2008中同步不同服务器中的数据库?

Eto*_* B. 21 database sql-server synchronization

我有2个具有相同结构的数据库,一个在本地计算机上,一个在公司的服务器上.每个确定的时间量,来自本地DB的数据应该同步到服务器DB.

我对如何执行此操作有一个大致的想法 - 创建一个脚本,以某种方式"合并"不在服务器数据库上的信息,然后使此脚本作为服务器的预定作业运行.但是,我的问题在于我对此并不十分熟悉.

SQL Server Management Studio是否提供了一种简单的方法(某种向导)并生成这种脚本?这是我必须从头开始构建的吗?

我做了一些基本的谷歌搜索并遇到了"复制"一词,但我并不完全理解它.我宁愿听到那些实际上已经做过这件事的人的一些意见,或者他们善于解释这类事情.

谢谢.

bob*_*obs 13

复制听起来像是一个很好的选择,但会有一些开销(不是技术开销,但知识需要支持它).

另一个SQL Server选项是SSIS.SSIS提供图形工具来设计您要做的事情.如果合适,SSIS包还可以运行SQL语句.可以从SQL Server作业启动并因此调度SSIS包.

在选择解决方案时,您应该考虑同步规则的复杂性.例如,在合并数据时难以解决冲突,例如重复密钥.如果规则很简单,则可以轻松创建SQL脚本.但是,复杂的冲突规则可能更难以在脚本(或复制)中实现.


mar*_*c_s 8

遗憾的是,SQL Server Management Studio并没有以这种方式提供太多功能.

您应该认真研究一些优秀的商业产品:

他们都花钱 - 但如果你认真对待它,并且你在日常生活中使用它们,那么它们很快就会得到报酬 - 非常值得每一分钱.

SQL Server 2008中唯一的"免费"选项是在两个服务器之间创建链接,然后使用类似MERGE语句(SQL Server 2008中的新增功能)来传输数据.这不适用于结构更改,并且仅限于在两个服务器之间建立实时连接.


Joe*_*lli 5

您肯定应该阅读事务复制.这听起来非常适合你所描述的情况.以下是一些可以帮助您入门的链接.