Azure SQL 同步组数据库隔离级别错误

问题描述 投票:0回答:2

使用本地服务器上安装的 SQL 代理软件在 Azure SQL 数据库和本地 SQL 数据库之间进行复制时,出现错误,指出两个数据库之间的数据库隔离级别状态不同。

我该如何解决这个问题?

synchronization azure-sql-database azure-data-sync
2个回答
2
投票

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

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

ALTER DATABASE MyDatabase  
SET ALLOW_SNAPSHOT_ISOLATION ON  

ALTER DATABASE MyDatabase  
SET READ_COMMITTED_SNAPSHOT ON

1
投票

使用此sql查看隔离状态:

select name, snapshot_isolation_state, is_read_committed_snapshot_on from sys.databases

您希望这些设置都像下面一样打开,并且在 Azure 和本地数据库上都相同。

下面的sql用于更改设置:

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

ALTER DATABASE {name} SET ALLOW_SNAPSHOT_ISOLATION ON
GO

© www.soinside.com 2019 - 2024. All rights reserved.