Cloud SQL for SQL Server ソースの移行ジョブを作成する

このページでは、Google Cloud CLI を使用して Cloud SQL for SQL Server ソースの移行ジョブを作成する方法について説明します。Database Migration Service を使用して Cloud SQL for SQL Server インスタンス間で移行する方法については、 Cloud SQL for SQL Server ソースの移行ガイドをご覧ください。

始める前に

  1. 次の要件を満たしていることを確認します。
    • SQL Server バックアップ ファイル用の Cloud Storage バケットがある。
    • ソース インスタンスのソース接続プロファイルがある。
    • 移行先 Cloud SQL for SQL Server インスタンスを作成して構成し、 インスタンスの移行先接続プロファイルがある。
  2. コンソールのプロジェクト セレクタ ページで、プロジェクトを選択または作成します。 Google Cloud Google Cloud

    プロジェクト セレクタに移動

  3. Database Migration Service、Compute Engine、Cloud Storage、Cloud SQL Admin API を有効にします。

    API を有効にする

必要なロール

Database Migration Service で移行ジョブを作成するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与の詳細については、 アクセス権の管理をご覧ください。

これらの事前定義ロールには、Database Migration Service を使用して同種 SQL Server 移行を実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限 」セクションを開いてご確認ください。

必要な権限

Database Migration Service を使用して同種 SQL Server 移行を実行するには、次の権限が必要です:

  • datamigration.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.databases.get
  • cloudsql.databases.delete
  • cloudsql.operations.get
  • compute.machineTypes.list
  • compute.machineTypes.get
  • compute.projects.get
  • storage.buckets.create
  • storage.buckets.list
  • storage.objects.list

カスタムロールや他の 事前定義ロールを使用して、これらの権限を取得することもできます。

設定を定義して移行ジョブを作成する

gcloud

このサンプルでは、すべてのオペレーションが同期的に実行されるように、省略可能な --no-async フラグを使用しています。つまり、コマンドの完了に時間がかかる場合があります。--no-async フラグを省略して、コマンドを非同期で実行できます。その場合は、 gcloud database-migration operations describe コマンドを使用して、オペレーションが成功したかどうかを確認する必要があります。

後述のコマンドデータを使用する前に、 次のように置き換えます。

  • MIGRATION_JOB_ID 移行ジョブのマシンが読み取れる 識別子。この値を使用して、 Database Migration Service Google Cloud CLI コマンドまたは API を使用して移行ジョブを操作します。
  • REGION : 移行ジョブを保存するリージョンの識別子。
  • MIGRATION_JOB_NAME:移行ジョブの人間に読み取れる 名前。この値は、 コンソールの Google Cloud Database Migration Service に表示されます。
  • SOURCE_CONNECTION_PROFILE_ID:ソース接続プロファイルのマシンが読み取れる識別子。
  • DESTINATION_CONNECTION_PROFILE_ID:移行先接続プロファイルのマシンが読み取れる識別子。
  • DESTINATION_PROJECT_ID 移行先 Cloud SQL for SQL Server インスタンスがあるプロジェクトの識別子。 Google Cloud これは、Database Migration Service API が有効になっていて、移行ジョブを作成するプロジェクトと同じである必要があります。
  • COMMA_SEPARATED_DATABASE_ID_LIST バックアップ ファイルから移行する SQL Server のデータベース識別子のカンマ区切りリスト。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
create MIGRATION_JOB_ID \
  --no-async \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME \
  --source=SOURCE_CONNECTION_PROFILE_ID \
  --destination=DESTINATION_CONNECTION_PROFILE_ID \
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \
  --project=DESTINATION_PROJECT_ID \
  --type=CONTINUOUS

Windows(PowerShell)

gcloud database-migration migration-jobs `
create MIGRATION_JOB_ID `
  --no-async `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME `
  --source=SOURCE_CONNECTION_PROFILE_ID `
  --destination=DESTINATION_CONNECTION_PROFILE_ID `
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST `
  --project=DESTINATION_PROJECT_ID `
  --type=CONTINUOUS

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
create MIGRATION_JOB_ID ^
  --no-async ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME ^
  --source=SOURCE_CONNECTION_PROFILE_ID ^
  --destination=DESTINATION_CONNECTION_PROFILE_ID ^
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^
  --project=DESTINATION_PROJECT_ID ^
  --type=CONTINUOUS

次のようなレスポンスが返されます。

Waiting for migration job [MIGRATION_JOB_ID]
to be created with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Created migration job MIGRATION_JOB_ID [OPERATION_ID]
結果

移行ジョブが作成されました。移行プロセスに進むことができます。

次のステップ