如何同步本地和远程数据库?

如何同步本地和远程数据库?

我在本地计算机上的 SQL 服务器中有一个数据库,我们在远程 PC 上也有相同的数据库,我想将其与远程服务器同步,是否有任何适用于 SQL 服务器的脚本或插件?谢谢。

操作系统:XP-PROFESSIONAL SP3 数据库:SQLSERVER 2008 EXPRESS

我想同步整个架构。并且远程将始终正确。

答案1

编写手动同步两个数据库的更新脚本是一项相当危险的工作。您可以尝试通过为所有对象创建脚本来比较它们,然后使用文件比较工具来查找两个架构之间的差异并进行更改。但对于更大的数据库,我不建议使用此方法,因为很容易错过一些更改

使用一些第三方工具可能是必须的,所以你可以尝试ApexSQL 差异或免费微软 SSDT

ApexSQL Diff 可以使用数据库备份、脚本文件夹、源代码控制和专有快照作为数据源。它支持通过 CLI 实现自动化

免责声明:我在 ApexSQL 担任技术支持工程师

答案2

有两种方法。要么一次性手动移动结构/数据,要么使用自动复制进行连续更新/同步。

对于简单的手动方法,将每个表结构保存到 SQL 文件。右键单击表,“将表脚本化为”->“创建到”->文件。然后在数据库本身上,右键单击 ->“任务”->“导出数据”-> [如果可以访问远程数据库,则可以将其移到这里,如果不能,请保存到文件并将其导入到另一台机器上]

对于自动方法,每个 SQL Server 都配置为复制。选项各不相同。一个好的起点是复制章节来自 MS SQL 2008 手册。

相关内容