导出和导入使用 Always Encrypted 的数据库

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

本文介绍如何导出和导入包含使用 Always Encrypted 保护的列的数据库。

导出数据库时,系统会以加密形式(已加密文本)从数据库中检索加密列中存储的所有数据并将其放入生成的 BACPAC 中。 生成的 BACPAC 还包含始终加密密钥的元数据。

将 BACPAC 导入数据库时,BACPAC 中的加密数据将加载到数据库中,并将重新创建始终加密密钥元数据。

如果应用程序配置为查询源数据库(已导出的数据库)中存储的加密列,则无需执行任何特殊操作,即可让应用程序查询目标数据库中的加密数据,因为这两个数据库中的密钥相同。

有关如何导出和导入数据库的详细信息,请参阅:

迁移包含加密列的数据库所需的权限

你需要源数据库上的 更改任意列主密钥更改任意列加密密钥 。 你需要目标数据库上的“更改任意列主密钥”、“更改任意列加密密钥”、“查看任意列主密钥定义”和“查看任意列加密定义”

不需要可以访问为加密列配置的列主密钥,因为在导出和导入操作期间数据会保持加密。

后续步骤

另请参阅