Benutzer mit den meisten Antworten
Azure Storage Emulator - SDK Update - Daten beibehalten

Frage
-
Hallo,
gibt es einen Weg, beim Update des Azure SDK von 1.6 auf das aktuelle SDK die Daten aus dem Azure Storage Emulator beizubehalten? Ich habe das Update per Web Platform Installer installiert und anschließend waren alle Daten gelöscht. Ich konnte die VM zurücksetzen, um die Daten wiederherzustellen.
Danke,
Martin
Antworten
-
Hallo Martin,
der Windows Azure Storage Emulator speichert seine Daten tatsächlich lokal in einer SQL Express DB. Er legt hierzu auf LocalDB eine Datenbank an (im SDK 1.7 ist dies die Datenbank "DevelopmentStorageDb201206", in früheren SDKs eine ähnlich benannte Datenbank, vor SDK 1.6 hat der Emulator in der regulären SQL Express DB persisitiert) und dort wiederum eine Reihe von SQL-Tabellen. Die Inhalte des emulierten Table Storage liegen dabei in der Tabelle dbo.TableRow. Das Schema dieser Tabelle ist denkbar einfach (ist ja auch "nur" ein emulierter Storage): AccountName, TableName, PartitionKey, RowKey, Timestamp, Data. Im letzten Feld liegen deine benutzerdefinierten Propertys in XML-Syntax.
Am besten, Du loggst Dich über das SQL Management Studio mal auf dem Server "(LocalDB)\v11.0" ein (bzw. falls Du die Storage Emulator Initialisierung mit DSInit.exe selbst durchgeführt hast auf dem von Dir zu dem Zeitpunkt gewählten SQL Server) und stöberst ein wenig in der Datenbank rum. Das lässt sich mit bekannten SQL Bordmitteln recht leicht sichern und wiederherstellen.
Siehe zu diesem Thema auch noch meinen Blog: http://blogs.msdn.com/b/hsirtl/archive/2012/10/22/daten-aus-dem-windows-azure-storage-emulator-sichern-und-wiederherstellen.aspx
Viele Grüße,
Holger
- Als Antwort vorgeschlagen Oliver Michalski Montag, 22. Oktober 2012 09:23
- Bearbeitet Holger SirtlMicrosoft employee Montag, 22. Oktober 2012 10:12
- Als Antwort markiert sys1 Montag, 22. Oktober 2012 12:34
Alle Antworten
-
Hallo Martin,
>>die Daten aus dem Azure Storage Emulator beizubehalten?
Was für Daten meinst Du?
Generell gilt: Im Emulator stehen Daten für Testläufe und nicht für die Ewigkeit. Eine Persistierung von Daten ist eigentlich nicht vorgesehen. Du hättest das Verzeichnis DevelopmentStorage (C:\\Users\<User>\AppData\Local\DevelopmentStorage) vorher sichern müssen, wenn Du die Daten benötigst.
Schöne Grüße
Oliver
-
Hallo Oliver,
Danke für Deine schnelle Antwort. Für die Ewigkeit ist nicht - ich benötige aber eine relativ große Tabelle im Table Storage zum Testen (ca. 380.000 Einträge). Ich muss diese Tabelle nach dem Update aufwendig wieder herstellen.
So weit ich weiss, werden die Daten im Hintergrund in einer SQL Express DB gespeichert, vielleicht kann man hierrüber die Daten sichern und evtl. wiederherstellen?
Dank und Gruß
Martin
-
Hallo Martin,
der Windows Azure Storage Emulator speichert seine Daten tatsächlich lokal in einer SQL Express DB. Er legt hierzu auf LocalDB eine Datenbank an (im SDK 1.7 ist dies die Datenbank "DevelopmentStorageDb201206", in früheren SDKs eine ähnlich benannte Datenbank, vor SDK 1.6 hat der Emulator in der regulären SQL Express DB persisitiert) und dort wiederum eine Reihe von SQL-Tabellen. Die Inhalte des emulierten Table Storage liegen dabei in der Tabelle dbo.TableRow. Das Schema dieser Tabelle ist denkbar einfach (ist ja auch "nur" ein emulierter Storage): AccountName, TableName, PartitionKey, RowKey, Timestamp, Data. Im letzten Feld liegen deine benutzerdefinierten Propertys in XML-Syntax.
Am besten, Du loggst Dich über das SQL Management Studio mal auf dem Server "(LocalDB)\v11.0" ein (bzw. falls Du die Storage Emulator Initialisierung mit DSInit.exe selbst durchgeführt hast auf dem von Dir zu dem Zeitpunkt gewählten SQL Server) und stöberst ein wenig in der Datenbank rum. Das lässt sich mit bekannten SQL Bordmitteln recht leicht sichern und wiederherstellen.
Siehe zu diesem Thema auch noch meinen Blog: http://blogs.msdn.com/b/hsirtl/archive/2012/10/22/daten-aus-dem-windows-azure-storage-emulator-sichern-und-wiederherstellen.aspx
Viele Grüße,
Holger
- Als Antwort vorgeschlagen Oliver Michalski Montag, 22. Oktober 2012 09:23
- Bearbeitet Holger SirtlMicrosoft employee Montag, 22. Oktober 2012 10:12
- Als Antwort markiert sys1 Montag, 22. Oktober 2012 12:34
-
Hallo Holger,
vielen Dank für Deine Rückmeldung. Ich habe inzwischen eine Xml basierte Datensicherung erstellt, mit der ich die Daten der Cloud und des Development Storage sichern und wiederherstellen kann - so bleibe ich unabhängig von den jeweiligen DB Schemata.
Gruß
Martin