我正在开发一个WPF C#窗口应用程序项目。该项目有自己的本地SQL数据库,我的Azure服务器也有一个具有相同详细信息的数据库。
如果我向本地SQL数据库添加条目或编辑条目,我希望它同步到远程数据库。
如何设置项目以同步这两个数据库?
有多种方法可以实现这一点,复制是最值得信赖的方法:
复制是一组技术,用于将数据和数据库对象从一个数据库复制和分发到另一个数据库,然后在数据库之间进行同步以保持一致性。使用复制可以通过局域网和广域网、拨号连接、无线连接和Internet将数据分发到不同的位置以及远程或移动用户。
附加参考:
https://learn.microsoft.com/en-us/sql/relational-databases/replication/sql-server-replication?redirectedfrom=MSDN&view=sql-server-ver15
https://learn.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance-transactional-replication
你也可以在下面的文档中查看Azure数据同步:
https://learn.microsoft.com/en-us/azure/sql-database/sql-database-get-started-sql-data-sync
如果您需要任何其他详细信息,请告诉我。
我的建议是使用SQL数据同步。尽管您需要安装SQL数据同步代理,正如这里所解释的,因为SQL数据同步服务通过客户端代理与SQL Server数据库通信。此安全功能可防止与防火墙后面的数据库直接通信。当SQL数据同步服务与代理通信时,它使用加密的连接和唯一的令牌或代理密钥进行通信
使用SQL数据同步时,应定义同步组,指定要同步的表,但每个表都需要有主键。如果表没有主键,则在此情况下无法使用SQL数据同步。
您可以安排同步组每5分钟进行一次同步。