web-dev-qa-db-ja.com

Azure Storage Emulatorエラーで起動しない

このエラーは本当に私を夢中にさせます。 (管理者モードで実行されている端末)

SQL Server 2014でのAzureストレージエミュレーターの初期化:

C:\Program Files (x86)\Microsoft SDKs\Windows Azure\Storage Emulator>.\wastorage
emulator init -server MY-PC
Windows Azure Storage Emulator 3.0.0.0 command line tool
The storage emulator was successfully initialized and is ready to use.

サーバーの起動時のエラー:

C:\Program Files (x86)\Microsoft SDKs\Windows Azure\Storage Emulator>.\wastorage
emulator start
Windows Azure Storage Emulator 3.0.0.0 command line tool

Unhandled Exception: System.TimeoutException: Unable to open wait handle.
   at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessControll
er.InternalWaitForStorageEmulator(Int32 timeoutInMilliseconds)
   at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessControll
er.EnsureRunning(Int32 timeoutInMilliseconds)
   at Microsoft.WindowsAzure.Storage.Emulator.StartCommand.RunCommand()
   at Microsoft.WindowsAzure.Storage.Emulator.Program.Main(String[] args)
48
BigChief

BitTorrent/uTorrentまたはポート10000を使用する同様のソフトウェアを実行しているかどうかを確認します。

この問題に関するSteve Marxのブログ投稿を確認してください。 http://blog.smarx.com/posts/windows-Azure-storage-emulator-the-process-cannot-access-the-file-because-it-is-being-used-by-another-プロセス

その投稿が消えた場合、他のソフトウェアがそのポートを使用しているかどうかを確認するコマンドは次のとおりです。

C:\Users\smarx>netstat -p tcp -ano | findstr :10000
  TCP    127.0.0.1:10000        0.0.0.0:0              LISTENING       3672
131
David Rodriguez

Azureツールの更新(2.3バージョン)後も同じ問題が発生します。数時間の調査の後、奇妙な解決策を見つけました-「Windows Azureストレージエミュレーターを開始」を「False」に設定します(Azureプロジェクトのプロパティで)。

16
AChudov

この質問に対する他の回答の要約と追加ポイントの追加。

C:\ Program Files(x86)\ Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exeファイルをメモ帳またはnotepad ++エディターで開きます。サービスセクションをご覧ください。

<services>
  <service name="Blob" url="http://127.0.0.1:10000/"/>
  <service name="Queue" url="http://127.0.0.1:10001/"/>
  <service name="Table" url="http://127.0.0.1:10002/"/>
</services>

Webブラウザで「Blob」のURLを開いてみてください。私の場合は

http://127.0.0.1:10000/

URLを開けない場合、またはエラーがある場合、これがAzure Storage Emulatorを起動できない理由です。

以下の手順を試して問題を解決してください。

1)ポート10000がビジーであるか、他のプロセスで使用されているかどうかを確認します。

これを知るには、コマンドプロンプトで以下のコマンドを入力します。

netstat -na | find "10000"

プロセスを強制終了します。

-inprocessモードでAzure Storage Emulatorを起動します

Azure Storage Emulatorのコマンドプロンプトタイプ

AzureStorageEmulator.exe start -inprocess

Ctrl + cその後

AzureStorageEmulator.exe start

これで問題が解決しない場合は、2番目の手順を試してください。

2)これを実行する

netsh http add iplisten 127.0.0.1

そして、Azure Storage Emulatorのコマンドプロンプトタイプで

AzureStorageEmulator.exe start -inprocess

Ctrl + cその後

AzureStorageEmulator.exe start
11
Ram Pratap

エミュレータを初期化したユーザーが、エミュレータを起動しているユーザーと同じであることを確認してください。別のユーザーとして昇格して初期化を実行する場合、初期化はそのユーザーにのみ適用されることに注意してください。

それでも解決しない場合は、-inprocessフラグを指定してエミュレーターを起動し、より詳細なエラーメッセージを取得してください。

WAStorageEmulator start -inprocess

管理者としてMicrosoft Azureコマンドプロンプトを実行し、最初にAzureStorageEmulator.exe initを使用して初期化してから、AzureStorageEmulator.exe開始コマンドの使用を開始します。私の場合はうまくいきました。

8
Geek

また、コマンドプロンプトを「管理者として実行」で実行してから、コマンドを実行してみる価値があります。C:\ Program Files(x86)\ Microsoft SDKs\Azure\Storage Emulator> AzureStorageEmulator.exe start

それは私のためにトリックをしました!

5
Don Bar

マシンをドメインに再結合する必要があり、ユーザープロファイルが再作成されたため、同じ問題が発生しました。昇格したcmdのオプション-inprocessで開始していることに気付きました。それから、私はそれがurlacに関係していることを理解し、次のコマンドで古いものを削除することを解決しました:

(from elevated cmd)
netsh http delete urlacl url=http://127.0.0.1:10000/
netsh http delete urlacl url=http://127.0.0.1:10001/
netsh http delete urlacl url=http://127.0.0.1:10002/

その後、通常どおり起動するだけで、ツールは必要なものを再作成します。これで、エレベーションなしで使用できます。

5
Riccardo

もう1つのオプションは、エミュレーターがストレージエミュレーターディレクトリにある構成ファイルで使用するIPバインディングを変更することです。

Wastorageemulator.exe.configを見つけて変更します

<services>
      <service name="Blob" url="http://127.0.0.1:10000/"/>
      <service name="Queue" url="http://127.0.0.1:10001/"/>
      <service name="Table" url="http://127.0.0.1:10002/"/>
   </services>

これは、別のアプリケーションがすでにそのポートを使用していて、アンインストールできない場合に役立ちます。

4
CrazyBernie

ここに役立つ情報があります:

AzureStorageEmulator.exe init –server MyMachine –sqlinstance **.** –forcecreate –inprocess

こちらをご覧ください link

2
Choco

私にとって、必要なポートで何も実行されていませんでした。問題は、Visual StudioがAdministratorモードで開始されなかったため、プロセスを開始できないことでした。

「開始」からAzure Storage Emulator CLIにアクセスすると、コマンドシェルが起動します。このシェルは管理者モードでもないであり、明らかに同じ結果になります。

管理モードでコマンドシェルを開くと、ジョブが実行されました。

2
Richard Hauer

同じ問題が発生しました。ポート10000が別のプロセスで使用されていることがわかりました。私の場合、uTorrentがそれを使用していました。それがあなたが使用しているものである場合、それはBittorrentである可能性があります。アンインストールした後、データを変更することでスムーズに開始しました。

トレントダウンローダーが非常に大きな意味を持っている場合は、その角度から問題を解決することを検討できます。これがうまくいくことを願っています。

1
Williams Adu

新しくリリースされたdocumentdbエミュレーターのユーザーにとって... Microsoftは、documentdbエミュレーターがストレージエミュレーターと同じポートを使用することをお勧めします;)ストレージにアクセスできる唯一の方法は、documentdbエミュレーターをシャットダウンしてVisual Studioを再起動することですそして出来上がりあなたは再びそれを使用することができます:facepalm:

1
Hypi

visual Studio => Server Explorerを使用して「Azureストレージエミュレーター」を起動しようとしている場合は、管理者としてVisual Studioを起動していることを確認してください。管理者としてコマンドプロンプトを実行することにより、コマンドプロンプトで「Azureストレージエミュレーター」を実行することで、この問題を修正することができました。

1
Ajit Goel

最近、これが発生しました。これは、最近HDInsightエミュレーターをインストールしたためです。これは、VSがエラーを発生させようとしたときに、ストレージエミュレーターを自動起動してエラーを引き起こしたようです。

この場合も、「Microsoft Azureストレージエミュレーターの起動」値をFalseに設定すると機能しました。

1
SteveM1972

Azure Functionsを実行しようとしたときに、Visual Studioで同様の問題が発生しました。 AzureStorageEmulator.exe initは私のために働いた

1
Preeti Joshi

これをヒットしたところ、Microsoft Teamsがポート10000を使用していたことがわかりました。チームに強制的に終了させると、問題は解決しました。 ????

1
Paul Batum

Windows Backup Agentがポート= 10000のmy VMボックスで実行されていました-10003に移動しました(.exe.configファイルを使用))

1
Rory Solley