將備份檔案儲存在 Cloud Storage 值區

資料庫遷移服務會從您上傳至 Cloud Storage bucket 的 SQL Server 備份和交易記錄檔複製資料。本頁說明如何準備要用於遷移程序的 bucket,以及資料庫移轉服務辨識備份檔案所需的資料夾結構。

如要準備用來遷移的儲存空間值區,請執行下列步驟:

  1. 建立 bucket。 請確認您使用的區域,正是打算建立目的地 SQL Server 適用的 Cloud SQL 執行個體處。

    資料庫遷移服務是完全區域性的產品,也就是說,所有與遷移作業相關的實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫、備份檔案的儲存空間值區) 都必須儲存在單一區域。

  2. 建立資料夾結構來存放備份檔案。

    • 資料庫遷移服務預期的資料夾結構如下:bucket 根層級的每個資料夾各代表一個要遷移的資料庫。

    • 資料庫資料夾至少須包含兩個資料夾:「full」資料夾用來存放完整備份檔案,「log」資料夾則會存放您稍後為了增量載入階段而上傳的交易記錄備份檔案。

    • 資料庫資料夾也可以視需要包含 diff 資料夾,用於存放差異備份檔案。

    • 如果您使用條紋完整或差異備份檔案,其各自的 fulldiff 資料夾必須包含額外資料夾,且該資料夾的名稱為以秒為單位的 Unix 時間戳記。

    舉例來說,如果您使用單一完整備份檔案,請直接將檔案放入 full 資料夾。差異備份檔案也適用相同規則:

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- full_backup_file
    |  |- diff/
    |  |  |- diff_backup_file
    |  |- log/
    |  |  |- transaction_log_file
    |- my-other-database/
    |  |- full/
    |  |  |- full_backup_file
    |  |- diff/
    |  |  |- diff_backup_file
    |  |- log/
    |  |  |- transaction_log_file
    

    如果您使用條紋完整備份檔案,請在 full 資料夾中使用額外資料夾。差異備份檔案也適用相同規則:

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- 1712649600/
    |  |  |  |- my_full_backup_file_stripe1
    |  |  |  |- my_full_backup_file_stripe2
    |  |- diff/
    |  |  |- 1706967833/
    |  |  |  |- firstDiffStripe.bak
    |  |  |  |- other_diff_stripe.diff
    |  |- log/
    |  |  |- transaction_log_file
    |- my-other-database/
    |  |- full/
    |  |  |- 1715250742/
    |  |  |  |- my_full_backup_file_stripe1
    |  |  |  |- my_full_backup_file_stripe2
    |  |- diff/
    |  |  |- 1706967833/
    |  |  |  |- firstDiffStripe.bak
    |  |  |  |- other_diff_stripe.diff
    |  |- log/
    |  |  |- transaction_log_file
    

    在這些範例中,資料庫遷移服務會在目的地 Cloud SQL 執行個體中建立兩個資料庫:my-business-databasemy-other-database。每個資料庫都會填入從個別 fulldifflog 資料夾擷取的資料。

    您可以混合使用單一檔案或條紋檔案慣例,來處理完整和差異備份檔案。差異備份檔案為選用項目,因此您也可以將 diff 資料夾留空:

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- full_backup_file
    |  |- diff/
    |  |  |- 1706967833/
    |  |  |  |- firstDiffStripe.bak
    |  |  |  |- other_diff_stripe.diff
    |  |- log/
    |  |  |- transaction_log_file
    |- my-other-database/
    |  |- full/
    |  |  |- 1712649600/
    |  |  |  |- my_full_backup_file_stripe1
    |  |  |  |- my_full_backup_file_stripe2
    |  |- diff/
    |  |  |- diff_backup_file
    |  |- log/
    |  |  |- transaction_log_file
    |- third-database/
    |  |- full/
    |  |  |- full_backup_file
    |  |- log/
    |  |  |- transaction_log_file
    

    在本例中,third-database 不會使用差異備份檔案進行遷移,因此沒有 diff 資料夾。

  3. 將備份檔案上傳至各自的資料夾:

    • 將完整備份檔案放入 full 資料夾。
    • 將差異備份檔案放入 diff 資料夾。
    • 將交易記錄檔放入 log 資料夾。

    請確認完整備份、差異備份和交易記錄檔符合資料庫遷移服務的命名慣例。請參閱 備份檔案命名規定

後續步驟