BACPAC を使用した Azure SQL Database への移行

完了

.bacpac ファイルを使用すると、Azure SQL データベース内に SQL Server データベースをインポートできます。

.bacpac ファイルは、データベースのメタデータとデータを含む圧縮ファイルです。 データは、Azure Blob Storage またはオンプレミス環境のローカル ストレージからインポートできます。

運用環境での最適なスケールとパフォーマンスのためには、SQLPackage ユーティリティを使用することをお勧めします。 テーブルのサブセットに対して複数の SqlPackage コマンドを並列で実行すると、インポート/エクスポート操作を大幅に高速化できます。

Azure portal で BACPAC ファイルからインポートする

次の手順に従って、.bacpac ファイルを Azure SQL Database にインポートできます。

  1. Azure portal を使用して新しい単一データベースに BACPAC ファイルからインポートするには、適切なデータベース サーバーのページを開き、 [データベースのインポート] を選択します。
  2. ストレージ アカウントと BACPAC ファイルのコンテナーを選択してから、インポート元の BACPAC ファイルを選択します。
  3. 新しいデータベースのサイズ (通常、元のサイズと同じ) を指定し、インポート先の SQL Server 資格情報を指定して [OK] を選択してください。
  4. インポートの進行状況を監視するには、データベースのサーバー ページを開き、 [設定] の下にある [インポート/エクスポート履歴] を選択します。 成功すると、インポートは完了状態になります。

さらに、SqlPackage を使用して BACPAC ファイルをインポートすることもできます。これは、Azure portal を使用するよりも高速であるためです。 次のコマンドにより、ローカル ストレージから AdventureWorks2019 データベースが mynewserver20230103 という Azure SQL Database サーバーにインポートされます。 これにより、Premium サービス レベルと P6 サービス オブジェクトがある myMigratedDatabase という新しいデータベースが作成されます。

これらの値は、お使いの環境に合わせて変更してください。

SqlPackage.exe /a:import /tcs:"Data Source=mynewserver20230103.database.windows.net;Initial Catalog=myMigratedDatabase;User Id=<your_server_admin_account_user_id>;Password=<your_server_admin_account_password>" /sf:AdventureWorks2019.bacpac /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P6

ヒント

インポート処理の速度を向上させるには、データベースをより高いサービス レベルとコンピューティング サイズにスケーリングして、より多く高速にリソースを提供します。 インポートが完了したら、望ましいサービス レベルとコンピューティング サイズにスケールダウンできます。