Azure SQL Sync组Db隔离级别错误

时间:2017-12-05 10:14:56

标签: synchronization azure-sql-database

当使用安装在内部部署服务器上的SQL Agent软件在Azure SQL数据库和内部部署SQL数据库之间进行复制时,会出现错误,说明数据库的隔离级别状态在两个数据库之间是不同的。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

不幸的是,使用SQL Data Sync同步数据库的一个要求是所有中心和成员数据库都必须使用快照隔离级别。有关SQL数据同步要求的更多信息,请访问this文档。

设置本地数据库的隔离级别,如下所示:

ALTER DATABASE MyDatabase  
SET ALLOW_SNAPSHOT_ISOLATION ON  

ALTER DATABASE MyDatabase  
SET READ_COMMITTED_SNAPSHOT ON

答案 1 :(得分:0)

使用此sql查看隔离状态:

select name, snapshot_isolation_state, is_read_committed_snapshot_on from sys.databases

您希望这些设置同样如下所示在Azure和内部部署数据库上都是相同的。

enter image description here

下面的sql用于更改设置:

ALTER DATABASE {name} SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE GO

ALTER DATABASE {name} SET ALLOW_SNAPSHOT_ISOLATION ON GO