使用加密的 SQL Server 备份文件

Database Migration Service 与加密的 SQL Server 备份完全兼容。您可以将加密密钥上传到 Google Cloud ,以便 Database Migration Service 能够安全地解密您的数据并将其加载到 Cloud SQL for SQL Server 目标实例,而不会降低数据安全性。

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

系统会按数据库评估备份加密。例如,如果您从源 SQL Server 实例迁移两个数据库:my-business-databasemy-other-database,则可以分别为 my-business-databasemy-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 中的数据库文件夹名称一致。
    • certPathpvkPathpvkPassword 是证书文件的 Cloud Storage 路径,格式为 gs://BUCKET_NAME/OBJECT_NAME。例如:gs://my-bucket-name/certificate-folder/certificate-key-file1。 如需了解详情,请参阅 Cloud Storage 文档中的对象命名空间
  4. 创建迁移作业时,提供加密密钥的 Cloud Storage 路径。

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