我的应用程序有一个场景? 我需要将历史数据存储在Sql Azure中的表存储和主数据中。 即,如果数据发生更新,则历史数据应移至Azure表存储,并且应在单个事务中的Sql Azure中更新新修改的数据。如果在任何一个数据库系统中出现任何问题,则应将其还原。
并且让我知道使用上述方法的优点和缺点:[在单个事务中将数据存储在SqlAzure和表存储中]
答案 0 :(得分:1)
简单的答案是,你不能。这里没有内置分布式事务的概念。表存储也有限制的事务支持。
以下是我的建议:依靠SQL Server中的触发器,使用这些触发器将SQL Server表中的旧数据复制到同一SQL Server中的另一个表(让我们称之为备份表)。然后让后台进程轮询此备份表并将数据推送到表存储中。将数据推送到表存储后,从备份表中删除项目。