Daten aus dem Windows Azure Storage Emulator sichern und wiederherstellen

Eine der großen Stärken von Windows Azure ist die Möglickeit, bei der Entwicklung skalierbarer Cloud Services auf eine lokale Entwicklungsumgebung zurückgreifen zu können, in der Speicherdienste in emulierter Form lokal verfügbar sind. Für die Simulation der Storage Services (Blob, Table, Queue) kommt der Windows Azure Storage Emulator zum Einsatz.

Der Storage Emulator sichert seine Daten in einer lokal auf dem Entwicklungs-PC installierten SQL-Express- bzw. SQL-Server-Datenbank. Welcher Datenbankdienst hierzu verwendet wird, wird beim erstmaligen Start des Windows Azure Storage Emulators automatisch bestimmt bzw. kann vom Entwickler über das Tool DSInit (im Installationsverzeichnis des Windows Azure SDKs) bestimmt werden.

image

Abb 1: Initialisierung des Development Storage über das Tool DSInit.

Wer das Tool DSInit mit dem Aufrufparameter /? aufruft erhält eine Übersicht über die möglichen Aufrufparameter:

DSInit [/sqlinstance:<DatabaseInstance> | /server:<MachineName> | /autodetect] [/silent] [/forcecreate]

Parameter Beschreibung
sqlInstance Instanz des SQL Servers (Express) ohne den Server-Qualifier. Beispiel: “SQLExpress”. “.” kann verwendet werden, um eine unbenannte Default-Instanz auszuwählen.
server Rechner, auf dem die SQL-Server-Instanz ausgeführt wird.
autodetect Bestimmt automatisch, welche SQL-Server-Instanz auf der lokalen Maschine verwendet wird. (Default ist (LocalDB)\v11.0)
silent Verhindert das Öffnen des Emulator-Dialogs mit der Bestätigung einer erfolgreichen Initialisierung bzw. entsprechenden Fehlermeldung.
forcecreate Erstellt die Emulator-Datenbank neu und löscht dabei alle evtl. vorhandenen Inhalte aus Blob-, Queue- und Table-Storage

Emulator-Datenbank

Bei der Initialisierung wird in der betreffenden SQL-Server-Instanz (unter SDK 1.7) eine Datenbank namens “DevelopmentStorageDb201206” angelegt. In dieser befinden sich für die einzelnen Speicherdienste entsprechende Tabellen. Deren Namen und Schema sind recht einfach gehalten (es handelt sich ja auch nur um einen Emulator), wodurch die Bedeutung der einzelnen Tabellen recht einfach zu erkennen ist.

Abb 2 zeigt das Management-Studio, in dem ich mich auf die lokale Datenbank (LocalDB)\v11.0 angemeldet habe. Dort sind die Tabellen des Emulators zu sehen.

image

Abb 2: Datenbank für den Windows Azure Storage Emulator

Der einfache Aufbau der Tabellen erlaubt es auch, Inhalte des emulierten Storage leicht zu sichern und wiederherzustellen (einfach Backup- und Restore der betreffenden Tabellen durchführen).

Weitere Informationen