我正在使用redgate的sql azure备份工具:http://www.red-gate.com/products/dba/sql-azure-backup/
看起来如果您选中“使备份事务一致”,您需要为sql server充电一整天。我想知道我是否需要检查一下。
我每天备份到blob存储,并且我将数据库备份到我的本地计算机,每3天左右一次。
如果我没有查看Transactionally Consistent框,我会遇到任何问题吗?
答案 0 :(得分:8)
在Red Gate上编写SQL Azure备份的人我可以说,目前在Azure中创建有保证的事务一致性备份的唯一方法就是使用CREATE DATABASE ... AS COPY OF。此副本仅在我们进行备份期间存在,然后立即删除。
如果您不选中该框,则只有在从每个表中依次读取数据时,如果存在交易处于不一致状态的风险,您才会遇到问题。创建复制可能需要很长时间,也可能需要花钱才能复制。
如果您正在备份BLOB,那么您使用的是Microsoft Import Export服务,而不是SQL Compare和SQL Data Compare技术,但是也会从表中读取数据也可能不一致。
希望这会有所帮助 理查德
答案 1 :(得分:2)
AFAIK事务一致意味着您可以在某个时间点获取数据库的快照(这可能意味着SQL Azure会锁定数据库(我们希望很快)它会复制整个数据库=您的一天收费db只存在几分钟)。
非事务一致性备份更好地说明了这一点,从复制表X开始。当你这样做时,有人修改(因为它是一个实时数据库)表Y,后来被复制到备份。 X和Y之间的外键现在可能不匹配'cos X来自早于Y的时间段。
我使用过Sql Azure备份,但我确实考虑了事务的一致性,因为备份是针对紧急情况的,在这种情况下我想要的最后一件事就是数据不一致。
编辑:现在我想一想,Redgate应该说明如果你每天备份,你实际上是为你的数据库支付两倍的费率。我一直在等待我认为现在存在的同步框架......
答案 2 :(得分:1)
回答标题中的问题:SQL Azure数据库副本(“备份”)是从源数据库复制(完全在线)的SQL Azure数据库,不包含任何未提交的事务(即。{{3 }})。这与数据库快照或备份还原在独立SQL Server产品上实现一致性的方式相同:“分离”时的所有待处理事务都将回滚。
至于RedGate的产品为何或如何利用这一点,我不知道。我想冒昧地猜测,为了实现“过渡一致的备份”,他们正在进行transactionally consistent(创建所需的事务一致性),然后他们使用来自CREATE DATABASE ... AS COPY OF ...
和{{3}的技术复制模式和数据。