【问题标题】:Export Data-Tier Application with Data (bacpac) from a database that contains encrypted objects从包含加密对象的数据库中导出带有数据的数据层应用程序 (bacpac)
【发布时间】:2013-04-22 16:08:17
【问题描述】:

我有一个 SQL Server 2012 数据库项目,我一直致力于部署我们的数据库。 dacpac 部署运行良好,但在将数据与架构一起部署时遇到了障碍。

我的计划是拥有一个包含所有默认数据的数据库的本地副本,以便我可以将 dacpac 部署到该数据库,然后导出一个包含最新架构以及默认数据集的 bacpac 以部署到远程站点。

但是,我们在数据库中有少数对象已加密,并且 bacpac 导出在这些对象上失败。有没有办法从包含加密对象的数据库中导出 bacpac,或者您建议如何解决这个问题?

编辑:如果您对此有任何建议,我也会遇到引用系统数据库(如 Master 和 MSDB)的对象的问题。

【问题讨论】:

    标签: sql-server dac


    【解决方案1】:

    我认为目前无法将加密对象导出为数据层应用程序。

    至于系统数据库引用,您需要转到Solution->Project->Reference->Add Database Reference(见下面的截图)

    并添加对系统数据库 msdb(或 master)的引用。

    【讨论】:

    • 感谢您抽出宝贵时间回复。不幸的是,这并不能解决我的问题。我已经在数据库项目中获得了这些引用,就像您所展示的一样,并且效果很好。我可以毫无问题地部署 dacpac。当我转到我部署到的数据库(包含我的默认数据集的数据库)并尝试从那里导出 bacpac 时,就会出现问题。它似乎没有允许我为我的加密对象提供解密密钥或指定外部数据库引用的选项。导出失败,这两项均出现错误。
    【解决方案2】:

    感谢您提出这个问题。我有同样的问题,虽然三天前,我在本地导出加密对象没有问题,现在我遇到了这个错误。

    我的解决方法是创建数据库副本,删除数据库副本的加密对象,然后导出(我需要数据)。但是,我不知道提取所有对象(包括加密对象)的解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      相关资源
      最近更新 更多