Ich war äußerst gespannt Microsoft Azure SQL auszuprobieren und möchte meine ersten fundierten Erfahrungen hier schreiben.
Was ist Azure SQL?
Microsoft Azure SQL ist eine Relationale Datenbank im Internet. Diese Datenbank ist zwar kein richtiger SQL Server in der aktuellen Version – aber die Funktionen, die in der letzten Zeit dazu gekommen sind, lassen durchaus einen sehr guten Vergleich zu. Es steht ausschließlich im Web bereit und Microsoft als Dienstleister ist für Betrieb, Backup, Antivirus, Verfügbarkeit und Co zuständig. Auch die Last, die auf den SQL Server geht, wird von Microsoft verwaltet. Reicht ein normaler Server nicht mehr aus, werden ohne Probleme weitere Server hinzugeschaltet. Es gibt quasi keine Lastbeschränkung und dazu noch Services mit Datenspeicher und Anwendungsserver nebenbei.
Was kostet Azure SQL?
Microsoft Azure SQL gibt es in vielen Ausprägungen. In einer MSDN Ultimate Lizenz sind bereits 3 SQL Server Datenbanken bis 10 GB enthalten. Auch einiges an Traffic ist damit abgedeckt. Die MSDN Datenbanken dürfen laut Aussage von Microsoft sogar produktiv genutzt werden!!! Auch sonst halten sich die Preise in Grenzen – aber welcher Entwickler hat keine MSDN Lizenz? Bestimmt kein Profi, der sich jetzt schon mit Azure beschäftigt. Die genaue Preisliste findet sich unter folgender URL <<<Link>>>. In Wesentlichen kann man aber rechnen, dass eine Datenbank bis 1GB rund 7€ im Monat plus vielleicht 5€ Traffic kostet. Eine 10GB Datenbank rund das 10 fache. Insgesamt also sehr günstige Preise für eine komplett skalierbare und hochverfügbare Datenbanklösung!
Wie verwende ich Azure SQL?
Auf der Azure Seite kann komplett per HTTPS verschlüsselt ein Serverinstanz angelegt werden. Dies muss auf der Webseite erfolgen! Auch die Firewallrichtlinien müssen dort konfiguriert werden. Ohne diese einfache Konfiguration ist da mal gar nichts möglich. Danach können Datenbanken angelegt werden. Dies geht per Weboberfläche oder Tool. Die weiteren Tools sind noch nicht so komfortabel wie das SQL Management Studio – aber TSQL, Linq, Stored Procedures, SQL Connections werden komplett unterstützt. Der SQL String dafür lässt sich über die Webseite abrufen. Mehr zu der Verwendung gibt es in den folgenden Abschnitten.
Was gibt es für Tools für Azure SQL
Microsoft SQL Azure kann vom SQL Server Management Studio und vom Server Explorer des Visual Studio bedient werden. Die Änderungen werden hier nur per TSQL angenommen. Die Objekte können nur gelesen werden. Dafür gibt es jedoch ein paar Tools von Codeplex. Das wichtigste Tool ist der SQL Azure Migration Assistent. Er kann eine lokale Datenbank mit ein paar Anforderungen auch zum SQL Azure migrieren. Auch eine Migration zurück ist möglich. Somit würde ich in der Entwicklung einen SQL Server lokale verwenden und dann die fertige Datenbank auf den SQL Azure per Tool verteilen. Man hat so gleich ein Trennung von Entwicklung und Produktion!!!
Wie kann ich per Visual Studio auf Azure SQL zugreifen?
Für das Visual Studio sieht die fertig gestaltete Datenbank dann wie ein richtiger SQL Server aus. Es wird halt mit einer SQL Authentifizierung auf den Server zugegriffen. Auch Databinding und Co sind ohne Probleme möglich. Ab diesem Moment merkt man nicht mehr, ob es ein SQL Server oder ein SQL Azure ist. Dies ist mein erster Eindruck – Probleme im Detail kann ich nicht ausschließen! Nur die Performance vom Netzwerk (hier Internet) ist natürlich hier wichtig. Mit meinem DSL 25.000 war es aber kein Thema!
Wie kann ich Azure SQL mit dem lokalen SQL Server vergleichen (Fazit)?
Auf den ersten gründlicheren Blick ist SQL Azure jetzt schon eine richtig gute Alternative. Zwar sind die Werkzeuge zum Design der Datenbank noch nicht super toll. Aber die simple erzwungene Trennung von Entwicklung und Produktion ist super. Auch die Kosten sind im grünen Bereich. Ganz besonders stark ist das Sizing. Ob 5, 5.000 oder 5.000.000 User, die Datenbank steht immer hochverfügbar im Netz. Auch die Sicherheit macht einen ausgereiften Eindruck. Daher ist es wohl besser einer kleinen Firma einen Redundanten SQL Azure Server zu verkaufen als einen lokalen Server, die bei einem Feuer sofort abraucht. Auch bei großen Firmen dürfte so ein Server ohne viel Bürokratie sicher zu betreiben sein.
Daher ist die Betrachtung von SQL Azure ein absolutes MUSS!