こんにちは。Azure SQL Databaseに.bakファイルをインポートする方法を試したので、簡単ですが手順を残しておきます。
Contents
Azure SQL DatabaseではBACPACファイル形式しかサポートされていない
まず、Azure SQL DatabaseはオンプレSQL Serverなどで従来使われていた.bakファイル形式のデータは直接インポートできず、BACPAC形式のみサポートされています。
SQL Server データベースを Azure SQL Database または SQL Managed Instance にインポートするには、BACPAC ファイルを使用します。
https://docs.microsoft.com/ja-jp/azure/azure-sql/database/database-import?view=azuresql&tabs=azure-powershell
実現方法
ちょっと調べてみると以下のStack Overflowにたどり着きました。
いくつか方法がありますが、特に簡単にできるオプションを2つご紹介します。
方法1:SSMSの「Azure SQL Databaseへのデータベースの配置」オプションを使う
1つ目の方法は、SSMSで、移行元のSQL Serverのデータベースを右クリックし、タスクから「Azure SQL Databaseへのデータベースの配置」というオプションを利用するというものです。
こうすると、内部的にはbacpacファイルを作成した上で、Azure SQL Databaseにインポートを行ってくれます。
方法2:bacpacファイル形式でエクスポートしなおす
二つ目の方法は、bakファイルではなくbacpacファイル形式でデータベースをエクスポートしなおした上で、SQL Databaseにインポートする方法になります。
まあ、1つ目の方法も裏ではこれと同じ流れが実行されているので、実質やってることは変わりませんが、ツール上触るところが少し違う感じです。
bacpacファイル形式でのエクスポートは、SSMS上タスク>「データ層アプリケーションのエクスポート」から実行できます。
ローカルだけでなく、Azureストレージ上へのエクスポートもできるんですね。
bacpacファイルの手動でのインポート方法についてはこちらを参照ください。
以上、少しでも参考になりましたら幸いです。
おしまい
コメントを残す