无法对数据库执行操作,因为它涉及数据库镜像会话或可用性组(Azure)

时间:2016-12-22 17:16:10

标签: sql-server azure azure-sql-database database-mirroring availability

我遇到了SQL Azure的间歇性问题。我正在将一个只读SQL Azure数据库(V12)从一个弹性池复制到另一个弹性池。复制数据库后,我使用以下命令将其设置为读/写:

ServletContext

这有时会因错误而失败:

  

无法对数据库***执行操作,因为它是   参与数据库镜像会话或可用性组

我尝试使用退避来实现重试逻辑,但这并不起作用。我没有找到任何与此错误或Azure中的数据库镜像相关的文档。

非常感谢任何建议!

1 个答案:

答案 0 :(得分:0)

我设法纠正了这个问题,它确实与地理复制有关。我最初复制的数据库有一个地理副本,但我在复制主数据库之前删除了辅助数据库(使用DROP DATABASE)。修复是在删除辅助数据库之前首先删除主要和辅助之间的复制链接(使用ALTER DATABASE [dbName] REMOVE SECONDARY ON SERVER [serverName])。