3

Azure Storage Emulator を 2.3 から 2.4 にアップグレードしました。WAStorageEmulator.exeは AzureStorageEmulator.exe に名前が変更されましたが、それは問題ではありません。

私が走るとき

AzureStorageEmulator init -forcecreate

Google が結果なしで返すエラーが表示されるだけです

エラー: ユーザー指定のインスタンスが見つかりません。これを修正して、初期化を再実行してください。

編集

私は開始と停止をしなければなりませんでした、そして私は初期化することができました。以前のバージョンのエミュレーターがインストールされていたため、ローカル SQL サーバー インスタンスに既にWAStorageEmulatorDb34があります。initコマンドを実行すると、新しいデータベースが作成されていないことがわかります( WAStorageEmulatorDb42 など)。

そのため、最新バージョンは古い DB を使用している可能性があると考えました。次に、MSSMS でクエリを実行して既存の BLOB コンテナーを確認しましたが、追加した BLOB を含む古いエミュレーターで作成した両方のコンテナーを引き続き確認できます。

その後、Visual Studio で Development Azure Storage にアクセスすると、コンテナーがまったく表示されませんでした。そのため、新しいバージョンは古い DB を使用していないようです。しかし、どれですか?そして、それはどこですか?

わかりましたので、もう一度 init を実行しようと思いましたが、追加のパラメーターを使用して SQL サーバー インスタンスに DB を配置します。

AzureStorageEmulator init -server localhost -sqlinstance MSSQLSERVER -forcecreate

そして、前述のエラーが発生します。また...

昇格された権限を持つ管理者として CMD を実行しています。

4

2 に答える 2

12

最終的に機能したソリューション

追加情報

通常、Azure Storage Emulator は LocalDB ストレージにテーブルを作成します。エミュレーターのバージョンによっては、これらがさまざまな DB インスタンスに存在する場合があります。各ストレージ エミュレーターのバージョンの構成は、

%USERPROFILE%\AppData\Local\[AzureStorageEmulatorFolder]\*.config

異なるバージョンには、 DevelopmentStorageWAStorageEmulatorから最新 (4.2) AzureStorageEmulatorまで、異なるフォルダー名があります。

このサブフォルダーには、インストールされている Azure ストレージ エミュレーターのバージョンに対応する構成ファイルが少なくとも 1 つあります。それを開くと、構成方法とテーブルの保存場所が表示されます。これは、既存の完全な SQL サーバー インスタンスで初期化を作成する場合にも当てはまります。

Azure ストレージ エミュレーター (ASE) を初期化しようとしたときの問題は、既定のインスタンス (MSSQLSERVER) である SQL サーバーのインスタンスも提供していたことです。そもそもこの情報を提供するべきではなく、サーバーに関する情報のみを提供する必要があります

したがって、正しいコマンドライン呼び出しは

AzureStorageEmulator init -server localhost -forcecreate

これにより、ローカル SQL サーバーにデータベースが作成されました。ここから先は、既存の ASE データベース (以前に ASE データベースを持っていた場合) から新しいデータベースに移行する方法はあなた次第です。

于 2015-11-03T13:50:19.340 に答える