Azure Storage Emulator が起動できない時の対応

Azure Storage Emulator は Azure Functions のローカル実行時などに利用される。 起動できない場合の原因や対処方法は色々とあると思うが、自分が遭遇した問題についての対処方法。

Azure Storage Emulator の仕組み

Azure Storage Emulator は内部では MSSQLLocalDB を使用しているらしく、この DB が使えない状況だと Azure Storage Emulator が起動できない。

Azure Storage Emulator が起動していない状況だと、Azure Functions のタイマートリガーもローカルでデバッグ実行できない。

確認手順

  1. スタートから「Azure Storage Emulator」と入力して、「Microsoft Azure Storage Emulator」を起動する
  2. コマンドプロンプトが起動するので、以下のようにコマンド入力する

    AzureStorageEmulator init

  3. 以下のようなエラーが出る

    Cannot create database 'AzureStorageEmulatorDb57' : The database 'AzureStorageEmulatorDb57' does not exist.

  4. ユーザーフォルダのルート (%USERPROFILE%) をエクスプローラで確認する。上記名称のファイルが存在する場合、削除してから、AzureStorageEmulator の起動を試みてみる

遭遇しそうな状況: 自分の場合は、Windows 10 でユーザーファイルを残したままのリセットを行ったが、恐らくその時にリセット前の DB ファイルが残り、そのファイルをリセット後のユーザーでは使うことができずに、上記状況に陥っていたようだった。

参考