保持本地MS SQL 2008 DB表和远程SQL Azure DB表同步

时间:2010-06-02 19:55:24

标签: c# sql sql-server-2008 azure-sql-database

我有一个托管Windows服务的专用服务器,它可以执行大量非常繁重的工作,并填充许多SQL Server数据库表。

但是,在它填充和使用的所有数据库表中,我只想要一个与远程SQL Azure数据库表同步。这是因为这个表保存了我所谓的Resolved data,这是Windows Service工作的最终结果。

我希望将SQL Azure数据库表与此数据库表保持同步。

据我了解,我的选择是:

  • 将所有内容移至Azure(但这涉及巨大的开发开销和风险)
  • 在专用服务器上安装另一个Windows服务,该服务基本上查看自上次更新后更改的记录,然后手动更新SQL Azure表

3 个答案:

答案 0 :(得分:4)

Microsoft将SQL Azure数据同步与Sync框架一起使用:

http://www.microsoft.com/windowsazure/developers/sqlazure/datasync/

这可以在T-SQL和SQL Agent中使用:

http://blogs.msdn.com/b/sync/archive/2010/03/25/initiating-sync-to-sql-azure-using-sql.aspx

答案 1 :(得分:0)

相反,您可以在主数据库表上执行每日备份,仅备份更改。然后,您可以将备份文件传输到SQL Azure数据库主机并从文件还原。此时,您可以通过每日计划的任务使它们同步,这些任务不需要花费太多精力。 BACKUPRESTORE T-SQL命令应该可以实现您所需要的功能,SQL Azure表示它支持T-SQL。

答案 2 :(得分:0)

尝试SQL Examiner Suite http://www.sqlaccessories.com/SQL_Examiner_Suite/

此工具可以将本地数据库与SQL Azure数据库(架构和数据)同步