Database Migration Service は、Cloud Storage バケットにアップロードした SQL Server バックアップ ファイルとトランザクション ログ ファイルからデータを複製します。このページでは、移行手順に備えてバケットを準備する方法と、Database Migration Service がバックアップ ファイルを認識するために必要なフォルダ構造について説明します。
移行用にストレージ バケットを準備する手順は次のとおりです。
バケットを作成する。移行先の Cloud SQL for SQL Server インスタンスを作成するリージョンと同じリージョンを使用してください。
Database Migration Service は完全にリージョン ベースのサービスです。つまり、移行に関連するすべてのエンティティ(移行元と移行先の接続プロファイル、移行ジョブ、移行先データベース、バックアップ ファイル用のストレージ バケット)を 1 つのリージョンに保存する必要があります。
バックアップ ファイルを格納する フォルダ構造を作成します。
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 で必要な命名規則に従っていることを確認します。 バックアップ ファイルの命名要件をご覧ください。
- 完全なバックアップ ファイルを