使(RDS / AWS)已启用Service Broker的(RDS / AWS)Sql Server数据库成为BacPac

时间:2019-04-25 07:18:21

标签: sql-server service-broker

我有一个在AWS的RDS上运行的Sql Server数据库。一段时间以来,我有一个每天晚上从产品服务器创建bacpac的过程,然后可以将其用于还原到UAT环境中以进行探索性测试。

.\SqlPackage.exe /a:Export /SourceConnectionString:$SourceConnectionString `
    /tf:$BackupFilePath /p:CommandTimeout=300 /Diagnostics:True `
    /DiagnosticsFile:$DiagnosticsFilePath

一直很好。但是,最近我们开始使用Sql Server Service Broker从数据库传递实时更新,但是在上线之后(即经过大量开发工作并从Service Broker功能中获得了很多价值),美中不足的是提取bacpac不再起作用。

它给出:

  

Microsoft.Data.Tools.Diagnostics.Tracer详细信息:1:   2019-04-23T23:46:32:ColumnResolver:#10466208列解析器   创建了Microsoft.Data.Tools.Diagnostics.Tracer错误:19:   2019-04-23T23:46:32:Microsoft.SqlServer.Dac.DacServicesException:

     

在用作部分的架构中找到一个或多个不受支持的元素   数据包。错误SQL71626:元素 Service :   [SqlQueryNotificationService-XYZ]是    Microsoft Azure SQL数据库第12版不支持。错误SQL71626:   元素队列:   [dbo]。[SqlQueryNotificationService-XYZ]    Microsoft Azure SQL数据库v12不支持。

那么我如何实现我的目标,即备份产品并加载到UAT中?

我尝试过的事情:停止服务代理,删除其对象。是的,虽然可以完成工作,但是我讨厌为了备份而降低产品环境的想法。

提醒一下,这不是实际备份系统的主要方法,AWS RDS具有内置的备份服务。但是,我不知道如何“下载”该备份,然后将其加载到我的UAT环境中。也许我可以使用其他一些转储/加载技术?

还要注意,UAT环境不在AWS RDS上,而是在运行Sql Server 2017(不是Azure SQL)的Azure VM上。

0 个答案:

没有答案