BACPAC を使用した Azure SQL Database への移行
.bacpac ファイルを使用すると、Azure SQL データベース内に SQL Server データベースをインポートできます。
.bacpac ファイルは、データベースのメタデータとデータを含む圧縮ファイルです。 データは、Azure Blob Storage またはオンプレミス環境のローカル ストレージからインポートできます。
運用環境での最適なスケールとパフォーマンスのためには、SQLPackage ユーティリティを使用することをお勧めします。 テーブルのサブセットに対して複数の SqlPackage
コマンドを並列で実行すると、インポート/エクスポート操作を大幅に高速化できます。
Azure portal で BACPAC ファイルからインポートする
次の手順に従って、.bacpac ファイルを Azure SQL Database にインポートできます。
- Azure portal を使用して新しい単一データベースに BACPAC ファイルからインポートするには、適切なデータベース サーバーのページを開き、 [データベースのインポート] を選択します。
- ストレージ アカウントと BACPAC ファイルのコンテナーを選択してから、インポート元の BACPAC ファイルを選択します。
- 新しいデータベースのサイズ (通常、元のサイズと同じ) を指定し、インポート先の SQL Server 資格情報を指定して [OK] を選択してください。
- インポートの進行状況を監視するには、データベースのサーバー ページを開き、 [設定] の下にある [インポート/エクスポート履歴] を選択します。 成功すると、インポートは完了状態になります。
さらに、SqlPackage
を使用して BACPAC ファイルをインポートすることもできます。これは、Azure portal を使用するよりも高速であるためです。 次のコマンドは、AdventureWorks2019
データベースをローカル ストレージから、<server-name> という Azure SQL Database サーバーにインポートします。 これにより、Premium サービス レベルと P6 サービス オブジェクトがある myMigratedDatabase
という新しいデータベースが作成されます。
これらの値は、お使いの環境に合わせて変更してください。
SqlPackage.exe /a:import /tcs:"Data Source=<server-name>.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
ヒント
インポート処理の速度を向上させるには、データベースをより高いサービス レベルとコンピューティング サイズにスケーリングして、より多く高速にリソースを提供します。 インポートが完了したら、望ましいサービス レベルとコンピューティング サイズにスケールダウンできます。