我如何同步MS SQL Server数据库? 有没有工具,最好是开源的?
对于预定的和临时的数据库同步,您可以使用ApexSQL Diff (用于对象模式同步)和ApexSQL Data Diff (用于logging同步)
它们不能用于实时同步。 海事组织,最好是实时使用数据库镜像
正如其他人所说,SQL Server 2008中有许多内置的方法可以使两台服务器实时或按计划同步。
有几点你应该考虑到:
根据答案,您可以select最适合您需要的方法; 除了已经描述的那些(复制和镜像)之外,记住你也可以做一些其他的事情:
你看过内置的镜像function吗? Technet 在这里有一个简要的描述。 主服务器将其事务日志logging发送到辅助服务器,辅助服务器然后重放事务日志。
镜像可以同步或asynchronous设置。
如果我理解你的话,你希望从本地机器上的Web服务器获得数据库的副本。 Web服务器上的数据库更改应定期复制到本地服务器。
我相信你可以通过复制来实现,但是你至less需要在你的Web服务器上安装一个SQL Server的Workgroup版本。
如果数据库不大或不经常更改,则可以使用Snapshot复制。 SQL Server将定期对数据库进行快照并将其复制到本地服务器。
对于更大或经常更改的数据库,我build议您使用合并复制。 这是更less的时间和资源密集型。
您可以在Books Online中获得有关复制的更多信息。 还请看数据移动模式 。
我有一篇博客文章,介绍如何为非域服务器设置数据库镜像。 但是,这并不允许您同时启用两个SQL Server,因此您需要执行某种forms的复制。 根据数据的访问方式,如果全部读取,那么它不是太糟糕,如果它在一台服务器上读取,在另一台服务器上读取/写入,也不会太坏,如果是写入/写入,那么你将要一些“有趣”的时代。