SQL Azure – Gehen wie auf Wolken (Teil 2)
Kommentare

SSMS, T-SQL, BCP und andere Bekannte

Prinzipiell kann in SQL Azure mit den gewohnten Anwendungen gearbeitet werden, die auch beim SQL Server zum Einsatz kommen. SQL Server Management Studio, SQLCMD,

SSMS, T-SQL, BCP und andere Bekannte

Prinzipiell kann in SQL Azure mit den gewohnten Anwendungen gearbeitet werden, die auch beim SQL Server zum Einsatz kommen. SQL Server Management Studio, SQLCMD, BCP und Visual Studio lassen alle zumindest eine Verbindung zu. Leider gestatten Sie zurzeit kein vernünftiges Arbeiten, da alle wesentlichen Funktionen mit einem Hinweis auf Inkompatibilität mit SQL Azure abrechen oder, im Falle von SSMS, lediglich T-SQL-Vorlagen statt der gewohnten grafischen Unterstützungen anbieten.

Abb.4: SSMS bietet zurzeit nur T-SQL-Vorlagen für SQL Azure
Abb.4: SSMS bietet zurzeit nur T-SQL-Vorlagen für SQL Azure

Gute oder zumindest ausreichende T-SQL-Kenntnisse sind also derzeit noch unverzichtbar. Dies sollte jedoch keine allzu große Anforderung darstellen, da T-SQL nach wie vor zum Rüstzeug eines jeden Entwicklers gehören sollte.

Die Datenbank migrieren

Um eine Datenbank auf SQL Azure zu migrieren, müssen zum einen die Struktur und zum anderen die Daten, also der Inhalt der Tabelle, übertragen werden. Als Erstes wird das DDL-Skript benötigt. Es ist entweder bereits vorhanden, da es bei der Entwicklung der Anwendung schon erstellt wurde, oder man lässt es sich via SSMS oder Visual Studio (Database Edition) erstellen. Enthält das Skript keine Sprachfeatures, die SQL Azure nicht unterstützt, so kann es in einer leeren Datenbank ausgeführt werden, sodass das Ergebnis eine Datenbank mit allen Objekten, aber noch leeren Tabellen ist. Für die Ausführung des DDL-Skripts bietet sich u. a. das SSMS oder das Kommandozeilenprogramm SQLCMD.EXE an.

Der Inhalt kann nun entweder auch mit dem Visual Studio (Database Edition) erstellt oder mittels dem Kommandozeilenprogramm BCP.EXE aus der lokalen Datenbank exportiert und in die SQL-Azure-Datenbank importiert werden. Das Vorgehen mir BCP.EXE ist der, dass der Inhalt nicht als Abfolge von INSERT-Anweisungen vorliegt, sondern in binärer Form, was den Vorteil hat, dass weniger Volumen über das Netzwerk übertragen werden muss und der Prozess an sich schneller ausgeführt wird. Hinweise und Details zu SQLCMD.EXE und BCP.EXE finden Sie online in den Books zum SQL Server.

Sicherheit

Bei einer Datenbank, die durch das öffentliche Internet verfügbar ist, ist Sicherheit ein besonders heikles Thema, da eine physische Barriere nicht existiert und quasi jeder eine Verbindung zur Datenbank aufbauen und/oder den Netzwerkverkehr belauschen kann. Damit das nicht zu einem massiven Sicherheitsrisiko wird, wurde eine Reihe von Sicherheitsmaßnahmen ergriffen:

  • SSL: Sämtlicher Netzwerkverkehr von und zur Datenbank wird zwingend SSL- (Server-Zertifikat-)verschlüsselt. Somit ist sichergestellt, dass die Daten für Dritte unbrauchbar sind, wenn der Inhalt während des Transits im öffentlichen Netz abgehört wird.
  • Firewall: Um die Datenbank gegen den Zugriff von unbekannter Seite zu schützen, werden nur Verbindungen von Clients angenommen, die über eine IP4-Adresse verfügen, die von einer entsprechenden Regel abgedeckt wird. Eingerichtet werden können diese Regeln entweder über die webbasierte Verwaltung von SQL Azure oder per T-SQL:

    Ist die IP4-Adresse nicht zugelassen, kommt es trotz sonst korrekter Anmeldeinformationen zu der in Abbildung 5 dargestellten Fehlermeldung, deren Text recht sprechend ist. Auch wenn es zunächst nach einer sinnvollen Sicherheitsmaßnahme klingt, sollte nicht außer Acht gelassen werden, dass z. B. mobile Clients oder Heimarbeitsplätze oftmals nicht immer die gleiche IP4-Adresse vom Provider zugewiesen bekommen. Vielmehr ändert sich die Adresse von Einwahl zu Einwahl. Um also nicht eine Firewall-Regel verwenden zu müssen, die allen Adressen Zugriff gestattet, müssen die Verbindungen so gestaltet werden, dass entweder eine feste Adresse verwendet wird oder ein möglichst kleiner Adresspool zum Einsatz kommt.

Abb. 5: Dank Firewall werden nur durch Regeln festgelegte IP-Adressen für den Zugriff zugelassen
Abb. 5: Dank Firewall werden nur durch Regeln festgelegte IP-Adressen für den Zugriff zugelassen
  • Anmeldung: Und last but not least muss die Anwendung sich anmelden. Hierfür steht nur die SQL-Server-Authentifizierung zur Verfügung. Da die Verbindung SSL-verschlüsselt ist, stellt die Übertragung der sensiblen Informationen kein Problem dar. Allerdings wird nur die SQL-Server-Authentifizierung unterstützt, sodass Anwendungen, die auf Windows-Authentifizierung basieren, in diesem Punkt angepasst werden müssen. Neue Anmeldungen beziehungsweise Benutzer für die Datenbank können mit CREATE LOGIN und CREATE USER erzeugt werden.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -