Aktualizace Azure Storage Emulator z verze 4.0 na 4.1

Po upgradu z Visual Studia 2013 na 2015 se aktualizuje i Microsoft Azure Tools na verzi 2.7, kde je i nový Azure Storage Emulator verze 4.1. V případě aktualizace emulátoru z verze 3.4 na 4.0 stačilo jen přejmenovat databázi, která se nachází v uživatelském profilu, aby byla zachována původní data. V tomto případě to již nefunguje, přes "moderní" REST interface dostanete pouze chybu HTTP 500, takže netušíte kde je problém (takový SOAP Fault paket s přesným popisem chyby, to je dnes již nemoderní).

Naštěstí alespoň nějaká informace se objeví pokud spustíte emulátor z command-line pomocí: AzureStorageEmulator.exe start -inprocess Takto se dozvíte, že ve staré databázi z verze 4.0 chybí dva sloupce: SecondaryKey a SecondaryReadEnabled. Srovnáním struktury původní databáze z verze 4.0 (AzureStorageEmulatorDb40) a nově vytvořené verzí 4.1 (AzureStorageEmulatorDb41) se ukáže, že chybí v tabulce Account.

Postup aktualizace

1. otevřít Microsoft SQL Server Management Studio

2. attach původní databáze AzureStorageEmulatorDb40

3. spustit následující SQL skript

USE [AzureStorageEmulatorDb40]
ALTER TABLE [Account] ADD [SecondaryKey] VARBINARY(256) NULL, [SecondaryReadEnabled] BIT NULL
GO
UPDATE [Account] SET [SecondaryReadEnabled] = 0
GO

4. detach akutalizované databáze AzureStorageEmulatorDb40

5. přejmenovat databázi AzureStorageEmulatorDb40 na AzureStorageEmulatorDb41

Tímto postupem budou data zachována. Nicméně bych si představoval, že aktualizace databáze proběhne automaticky.

Komentáře jsou uzavřeny