none
Azure Storage Emulator - SDK Update - Daten beibehalten RRS feed

  • 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

    Montag, 1. Oktober 2012 10:54

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


    Montag, 22. Oktober 2012 09:03

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

    Montag, 1. Oktober 2012 11:48
  • 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

    Dienstag, 2. Oktober 2012 06:03
  • 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


    Montag, 22. Oktober 2012 09:03
  • 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

    Montag, 22. Oktober 2012 12:34