Azure SQL Databaseに.bakファイル形式のデータをインポートする方法

こんにちは。Azure SQL Databaseに.bakファイルをインポートする方法を試したので、簡単ですが手順を残しておきます。

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にたどり着きました。

https://stackoverflow.com/questions/61794263/restore-database-bak-file-to-azure-elastic-pool-database-from-vm

いくつか方法がありますが、特に簡単にできるオプションを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ファイルの手動でのインポート方法についてはこちらを参照ください。

https://docs.microsoft.com/ja-jp/azure/azure-sql/database/database-import?view=azuresql&tabs=azure-powershell

以上、少しでも参考になりましたら幸いです。

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。