0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Azure SQL Database のデータを LocalDB にリストアする

Posted at

以前、MS SQL Server のデータを LocalDB にリストアする記事を書いたことがありますが、似たような話が 1 年後にくるとは...

今回は Azure SQL Database での備忘録

手順

手順は大きく分けてこのようになります

  1. ストレージアカウントとコンテナを作成
  2. Azure SQL Database から bacpac ファイルをエクスポート
  3. bacpac ファイルをクライアントにダウンロード
  4. sqlpackage の準備
  5. LocalDB にリストア

1. ストレージアカウントとコンテナの作成

bacpac ファイルの出力先として、ストレージアカウントとコンテナを作成しておく

2. Azure SQL Database から bacpac ファイルをエクスポート

PowerShell でもできそうだったけど、やりたいのは LocalDB へのリストアなので、Azure Portal からポチポチ

  1. Azure Portal から、対象の SQL データベースを開き、[エクスポート] をクリック
  2. 適宜項目を埋める
    • Storage は手順 1 で用意したストレージアカウントとコンテナを指定
    • 認証の種類は「SQL Server」にして、データベースのアカウントを設定
  3. [OK] を押すとエクスポートが始まる
    ※進捗や結果は、対象の SQL Server を開き、[インポート/エクスポート履歴] で確認できます
    image.png

3. bacpac ファイルをクライアントにダウンロード

「1. ストレージアカウントとコンテナの作成」で作成したコンテナを開き、右端の 3 点リーダーをクリックして、ダウンロードをクリックしてダウンロードする
image.png

4. sqlpackage の準備

Visual Studio のインストールフォルダ内(C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130)にあったのですが、改めて MS のサイトからダウンロードする

  1. sqlpackage をダウンロードしてインストールする にアクセスして、Windows .NET Core の zip ファイルをダウンロード
    image.png
  2. ダウンロードした zip ファイルを右クリックして、このファイルを許可する
    image.png
  3. 適当な場所に展開する

5. LocalDB にリストア

コンソール(手元では Windows Terminal を利用)を立ち上げ、展開したフォルダに移動後に、コマンドでインポートする

PS> cd C:\soft\sqlpackage-win7-x64
PS> .\sqlpackage.exe /Action:Import /SourceFile:"C:\Users\miyamiya\Desktop\xxxxxxxx-2020-8-24-22-5.bacpac" /TargetConnectionString:"Data Source=(localdb)\mssqllocaldb;Initial Catalog=20200824db; Integrated Security=true;"

しかし、私の環境では SQL72014 が発生してインポートに失敗しました

そこで、こちらを参考にして 、SSMS で LocalDB につないで、下記クエリーを流しました

sp_configure 'contained database authentication', 1;
GO
RECONFIGURE;
GO

image.png

その後、もう一度クエリーを流したらインポート成功しました

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?