无法使用DacFX在Azure故障转移组内部署到Azure SQL数据库

时间:2017-07-31 16:57:28

标签: visual-studio azure azure-sql-database dac geo-replication

我无法使用VS2015 / 17数据库项目发布或使用DACFx的读/写侦听器端点部署到Azure故障转移组内的Azure SQL数据库? 我使用具有适当权限的包含用户并证明它可以直接部署到数据库的主Azure SQL服务器,但不能部署到故障转移组的读/写侦听器。

使用DacFX或直接从VS2015 / 17发布,我得到了同样的例外。

Exception Message:
Could not deploy package.

Inner Exception Message:
Unable to connect to master or target server '<MY DATABASE>'. You must have a user with the same password in master or target server '<MY DATABASE>'.

StackTrace:
   at Microsoft.SqlServer.Dac.DeployOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context)
   at Microsoft.SqlServer.Dac.OperationExtension.Execute(IOperation operation, DacLoggingContext loggingContext, CancellationToken cancellationToken)
   at Microsoft.SqlServer.Dac.DacServices.InternalDeploy(IPackageSource packageSource, Boolean isDacpac, String targetDatabaseName, DacDeployOptions options, CancellationToken cancellationToken, DacLoggingContext loggingContext, Action`3 reportPlanOperation, Boolean executePlan)
   at Microsoft.SqlServer.Dac.DacServices.Deploy(DacPackage package, String targetDatabaseName, Boolean upgradeExisting, DacDeployOptions options, Nullable`1 cancellationToken)

1 个答案:

答案 0 :(得分:1)

此问题是由DacFx在后台打开与master数据库的连接这一事实引起的。目前,故障转移组不包括主数据库,因为它需要复制它并且无法复制主服务器 - 主服务器和辅助服务器上的主服务器是独立的并且都是可写的。这是一个已知问题,我们通过将主人视为一个特例来解决它。我们将允许在侦听器指向的服务器上与它建立连接。