Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure Storage Emulator fails after adding VS 2015 SDK

I've had the Azure SDK 2.5 and Tools for VS2013 installed and working fine for quite a while. Today I installed the SDK and Tools for VS2015 and now my Azure Storage Emulator won't start up. On the first try to start it I got a SqlException:

Unhandled Exception: System.Data.SqlClient.SqlException:
An error occurred while processing the log for database If possible,
restore from backup. If a backup is not available, it might be
necessary to rebuild the log.

After rebooting the machine, I'm getting a lesser error:

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>WAStorageEmulator start Windows Azure Storage Emulator
3.4.0.0 command line tool Error: The storage emulator needs to be initialized. Please run the 'init' command.

But running init doesn't work:

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>WAStorageEmulator init Windows Azure Storage Emulator 3.4.0.0 command line tool Error: Cannot create database.

Starting with -inprocess says my login in failing. I'm an admin on the machine so this is odd.

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>WAStorageEmulator start -inprocess
Windows Azure Storage Emulator 3.4.0.0 command line tool
Cannot open database "WAStorageEmulatorDb34" requested by the login. The login failed.
Login failed for user 'DOMAIN\genslow'.
3/24/2015 10:00:57 AM [Info] Starting Service: Blob
3/24/2015 10:00:57 AM [Verbose_debug] [Nephos.Storage] { Initialize
3/24/2015 10:00:57 AM [Info_debug] Loading config Param NephosAllowPathStyleUris (Allow path-style URIs) read: true
3/24/2015 10:00:57 AM [Info_debug] Successfully loaded NephosAllowPathStyleUris: True
3/24/2015 10:00:57 AM [Info_debug] Loading config Param NephosIncludeInternalDetailsInErrorResponses (Include internal details in error responses) read: false
3/24/2015 10:00:57 AM [Info_debug] Successfully loaded NephosIncludeInternalDetailsInErrorResponses: False
3/24/2015 10:00:57 AM [Info_debug] Loading config Param StampName (Stamp Name) read: StorageEmulator
3/24/2015 10:00:57 AM [Info_debug] BlockBlob: Load Interval failed. IsGC: True, Exception    at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
   at Microsoft.WindowsAzure.DevelopmentStorage.Store.BlockBlobGarbageCollector.GetTimerIntervalOrDefault(Boolean isGC)
3/24/2015 10:00:57 AM [Info_debug] BlockBlob: Load Interval failed. IsGC: False, Exception    at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
   at Microsoft.WindowsAzure.DevelopmentStorage.Store.BlockBlobGarbageCollector.GetTimerIntervalOrDefault(Boolean isGC)
3/24/2015 10:00:57 AM [Verbose_debug] [Nephos.Storage] } Initialize
Service Status: Blob http://127.0.0.1:10000/ True
3/24/2015 10:00:57 AM [Info] Starting Service: Queue
3/24/2015 10:00:57 AM [Verbose_debug] [Nephos.Queue] { Initialize
3/24/2015 10:00:57 AM [Info_debug] Loading config Param NephosAllowPathStyleUris (Allow path-style URIs) read: true
3/24/2015 10:00:57 AM [Info_debug] Successfully loaded NephosAllowPathStyleUris: True
3/24/2015 10:00:57 AM [Info_debug] Loading config Param NephosIncludeInternalDetailsInErrorResponses (Include internal details in error responses) read: false
3/24/2015 10:00:57 AM [Info_debug] Successfully loaded NephosIncludeInternalDetailsInErrorResponses: False
3/24/2015 10:00:57 AM [Info_debug] Loading config Param StampName (Stamp Name) read: StorageEmulator
3/24/2015 10:00:57 AM [Verbose_debug] [DevelopmentStorage.Queue] } Initialize
Service Status: Queue http://127.0.0.1:10001/ True
3/24/2015 10:00:57 AM [Info] Starting Service: Table
3/24/2015 10:00:57 AM [Verbose_debug] [Nephos.Table] { Initialize
3/24/2015 10:00:57 AM [Info_debug] Loading config Param NephosAllowPathStyleUris (Allow path-style URIs) read: true
3/24/2015 10:00:57 AM [Info_debug] Successfully loaded NephosAllowPathStyleUris: True
3/24/2015 10:00:57 AM [Info_debug] Loading config Param NephosIncludeInternalDetailsInErrorResponses (Include internal details in error responses) read: false
3/24/2015 10:00:57 AM [Info_debug] Successfully loaded NephosIncludeInternalDetailsInErrorResponses: False
3/24/2015 10:00:57 AM [Info_debug] Loading config Param StampName (Stamp Name) read: StorageEmulator
3/24/2015 10:00:57 AM [Info] NOT using custom threadpool for blocking calls
Service Status: Table http://127.0.0.1:10002/ True

Running init with -inprocess gives the following detail:

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>WAStorageEmulator init -inprocess
Windows Azure Storage Emulator 3.4.0.0 command line tool
Added reservation for http://127.0.0.1:10000/ in user account DOMAIN\genslow.
Added reservation for http://127.0.0.1:10001/ in user account DOMAIN\genslow.
Added reservation for http://127.0.0.1:10002/ in user account DOMAIN\genslow.

Found SQL Instance (localdb)\MSSQLLocalDB.

Creating database WAStorageEmulatorDb34 on SQL instance '(localdb)\MSSQLLocalDB'.
Cannot create database 'WAStorageEmulatorDb34' : Database 'WAStorageEmulatorDb34' already exists. Choose a different database name..
One or more initialization actions have failed. Resolve these errors before attempting to run the storage emulator again.
Error: Cannot create database 'WAStorageEmulatorDb34' : Database 'WAStorageEmulatorDb34' already exists. Choose a different database name..

So is there anyway to recover from this or should I uninstall everything and start over?

like image 218
Greg Enslow Avatar asked Mar 24 '15 17:03

Greg Enslow


People also ask

Which emulators are installed with the Azure SDK?

Azure SDK has two emulators namely Compute Emulator and Storage Emulator. These emulators are used by developers to operate the cloud applications on the local machine. Compute Emulator reproduces the computing environment.

How do I run Azure storage emulator as an administrator?

1. Click Start, point to All Programs, and then click Windows Azure SDK. 2. Right-click on Windows Azure SDK Command Prompt and then click Run as administrator.

What is Microsoft Azure storage emulator?

The Azurite open-source emulator provides a free local environment for testing your Azure blob, queue storage, and table storage applications.


2 Answers

You can use the following process to recover from most init problems involving the database. Note that any data in the emulator currently will be lost.

Delete the SQL instance:

sqllocaldb stop MSSQLLocalDB
sqllocaldb delete MSSQLLocalDB

Now delete the following database files:

%USERPROFILE%\AzureStorageEmulatorDb*.mdf
%USERPROFILE%\AzureStorageEmulatorDb*.ldf

Finally, recreate the sql instance:

sqllocaldb start MSSQLLocalDB

Then retry the emulator init.

like image 119
Michael Roberson - MSFT Avatar answered Oct 30 '22 17:10

Michael Roberson - MSFT


I tried to clean up localdb but didn't work, so anyone has an issue running storage emulator with local db can benefit from this command to run it on SqlExpress.

Command: AzureStorageEmulator.exe init -server . -sqlinstance SQLEXPRESS -forcecreate

like image 42
NiL Avatar answered Oct 30 '22 17:10

NiL