使用加密的 SQL Server 备份文件

本页面介绍了如何使用加密备份文件从自管理或 Amazon RDS 来源迁移到 Cloud SQL for SQL Server。

Database Migration Service 与来自自行管理和 Amazon RDS 来源的加密 SQL Server 备份完全兼容。您可以将加密密钥上传到 Google Cloud ,以便 Database Migration Service 可以安全地解密数据并将其加载到 Cloud SQL for SQL Server 目标实例,而不会影响数据安全。

如果您想使用加密备份文件,则必须加密迁移中包含的特定数据库所使用的每个备份文件(完整备份、差分备份、事务日志)。也就是说,如果您要加密完整备份文件,则还必须加密该数据库的差分备份文件和事务日志文件。所有备份文件都必须使用同一密钥进行加密。

备份加密是按数据库进行评估的。例如,如果您从源 SQL Server 实例迁移两个数据库:my-business-database 和 my-other-database,则可以单独为 my-business-database 或 my-other-database 或这两个数据库使用加密备份。

如需使用加密备份进行迁移,请执行以下步骤:

  1. 备份源 SQL Server 实例并使用加密功能。将加密密钥保存在安全的位置,以便稍后将其上传到 Cloud Storage。请参阅 Microsoft 文档中的 备份加密。

  2. 将加密密钥上传到 Cloud Storage 存储桶。

  3. 仅限 Google Cloud CLI:创建 JSON 格式的映射文件,以将加密密钥与迁移作业中包含的相关数据库进行匹配。映射文件是一个对象数组,每个对象都表示单个数据库的映射。示例配置文件:

    [
    {
      "database": "db1",
      "encryptionOptions": {
        "certPath": "Path to certificate 1",
        "pvkPath": "Path to certificate private key 1",
        "pvkPassword": "Private key password 1"
      }
    },
    {
      "database": "db2",
      "encryptionOptions": {
        "certPath": "Path to certificate 2",
        "pvkPath": "Path to certificate private key 2",
        "pvkPassword": "Private key password 2"
      }
    }
    ]
    

    其中:

    • database 是您的数据库标识符。该标识符必须与 Cloud Storage 中的数据库文件夹名称一致。
    • certPath、pvkPath 和 pvkPassword 是证书文件的 Cloud Storage 路径,格式为 gs://BUCKET_NAME/OBJECT_NAME。例如:gs://my-bucket-name/certificate-folder/certificate-key-file1。 如需了解详情,请参阅 Cloud Storage 文档中的对象命名空间。
  4. 创建迁移作业时,提供加密密钥的 Cloud Storage 路径。

  5. 创建更多备份文件(差分备份文件或事务日志文件)时,请务必使用与完整备份相同的加密密钥对其进行加密。