Database Migration Service は、Cloud Storage バケットにアップロードした SQL Server のバックアップ ファイルとトランザクション ログ ファイルからデータを複製します。このページでは、移行手順に備えてバケットを準備する方法と、Database Migration Service がバックアップ ファイルを認識するために必要なフォルダ構造について説明します。
移行用のストレージ バケットを準備する手順は次のとおりです。
バケットを作成する。移行先の Cloud SQL for SQL Server インスタンスを作成するリージョンと同じリージョンを使用してください。
Database Migration Service は完全にリージョン ベースのサービスです。つまり、移行に関連するすべてのエンティティ(移行元と移行先の接続プロファイル、移行ジョブ、移行先データベース、バックアップ ファイル用のストレージ バケット)を単一のリージョンに保存する必要があります。
バックアップ ファイルを格納する フォルダ構造を作成します。
Database Migration Service では、バケットのルートレベルにある各フォルダが、移行する 1 つのデータベースを表すフォルダ構造を想定しています。
データベース フォルダには、フル バックアップ ファイル用の
fullフォルダと、増分読み込みフェーズ用に後でアップロードするトランザクション ログ バックアップ ファイル用のlogフォルダの 2 つのフォルダが必要です。データベース フォルダには、差分バックアップ ファイルの
diffフォルダを含めることもできます。ストライプ化された完全バックアップ ファイルまたは差分バックアップ ファイルを使用する場合は、それぞれの
fullフォルダまたはdiffフォルダに、名前が Unix タイムスタンプ(秒単位)の追加フォルダを含める必要があります。
たとえば、1 つの完全バックアップ ファイルを使用する場合は、そのファイルを
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これらの例では、Database Migration Service は移行先の Cloud SQL インスタンスに
my-business-databaseとmy-other-databaseの 2 つのデータベースを作成します。各データベースには、個々のfull、diff、logフォルダから取得されたデータが格納されます。完全バックアップ ファイルと差分バックアップ ファイルに、単一ファイルまたはストライプ化されたファイルの規則を組み合わせることができます。差分バックアップ ファイルはオプションであるため、
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フォルダはありません。それぞれのフォルダにバックアップ ファイルをアップロードします。
- 完全なバックアップ ファイルを
fullフォルダに配置します。 - 差分バックアップ ファイルを
diffフォルダに配置します。 - トランザクション ログ ファイルを
logフォルダに配置します。
フル バックアップ ファイル、差分バックアップ ファイル、トランザクション ログ ファイルが、Database Migration Service で必要な命名規則に従っていることを確認します。 バックアップ ファイルの命名要件をご覧ください。
- 完全なバックアップ ファイルを