Features SQL Server

MS SQL Server 2005 - Das ist anders

12.01.2006 von Sascha Lorenz
Die neue Version des SQL Server von Microsoft bringt Erweiterungen, Überarbeitungen und neue Werkzeuge mit. Auf was Sie sich einstellen müssen, zeigt dieser Artikel.

Nach fünf Jahren bringt Microsoft eine komplett runderneuerte Version des SQL Server heraus. In diesen Jahren hat sich in der Microsoft-Welt eine ganze Menge getan. Der SQL Server 2000 wurde zwar mit Service Packs und kostenlosen Erweiterungen gepflegt. Es war jedoch klar, dass der neue SQL Server einschneidende Veränderungen mit sich bringen wird.

Microsoft trägt mit dem neuen Server den eigenen Innovationen der letzten Jahre Rechnung und setzt damit gleichzeitig einen neuen Meilenstein für Entwickler und Administratoren. Der SQL Server 2000 kam noch vor der Einführung des ersten .NET Framework auf den Markt. Mit dem SQL Server 2005 führt Microsoft gleichzeitig das .NET Framework Version 2.0 ein und veröffentlicht parallel mit dem Visual Studio 2005 auch ein neues Release der Entwickler-Suite. Für Administratoren heißt das aber, dass sie mit in die Welt von .NET kommen müssen, um den SQL Server 2005 beherrschen zu können.

Auf den ersten Blick scheint beim SQL Server 2005 nichts mehr so zu sein wie früher. Die vertrauten Werkzeuge Enterprise Manager und Query Analyzer sind verschwunden und das neue Management Studio ähnelt stark der Oberfläche des Visual Studio.

Neben den offensichtlichen Änderungen hat sich auch eine Menge hinter den Kulissen getan. So gibt es nun zum Beispiel ein zeitgemäßes Sicherheitskonzept, das auch für Administratoren nützliche ETL-Werkzeug DTS wurde durch die SQL Server Integration Services (SSIS) ersetzt und neue Werkzeuge sollen einem bei der Einrichtung und der täglichen Arbeit unter die Arme greifen. Es gibt also viel zu tun.

Systemvoraussetzungen

Es hat sich viel getan beim SQL Server 2005, das fängt bei den Systemvoraussetzungen an. Für viele Administratoren ist vielleicht die wichtigste Nachricht, dass der SQL Server 2005 nicht unter Windows NT läuft. Für die einen mag dies eine gute Neuigkeit sein, für andere eine schlechte. Sicher ist, dass inzwischen auch beim SQL Server die Ära Windows NT vorbei ist. Microsoft hatte schon beim Service Pack 4 für den SQL Server 2000 auf die Unterstützung von Windows NT verzichtet.

Die Anforderungen an die Hardware sind dem heutigen Stand angepasst. Bisher reichte ein Pentium-Rechner mit 166 MHz und 64 MByte RAM. Für den SQL Server 2005 wird eine Maschine mit einem Pentium III mit 500 MHz mit 512 MByte RAM erwartet, empfohlen sind 1 GHz und 1 GByte RAM. Für die Express Edition des SQL Server, die die MSDE ablöst, reichen 128 MByte RAM.

Vor der Installation des SQL Server 2005 muss die Umgebung erst einmal vorbereitet werden. Dazu gehört beispielsweise, dass Sie den Microsoft Windows Installer ab der Version 3.0 benötigen. Dieser ist unter anderem Bestandteil des Service Pack 1 für Windows 2003 Server. Wollen Sie den SQL Server auf einem Windows 2000 Server installieren, muss das Service Pack 4 eingerichtet sein. Für die optimale Nutzung der Hilfe Funktion ist Internet Explorer 6.0 inklusive SP 1 vonnöten.

Des Weiteren werden Sie schon bei der Installation bemerken, dass SQL Server 2005 komplett auf .NET Framework 2.0 setzt, denn es wird bereits zur Vorbereitung installiert, neben dem Native Client und den Setup Support Files.

Installation

Die Setup-Routine führt zunächst den System Configuration Check (SCS) durch. Dieser überprüft die Umgebung hinsichtlich der Voraussetzungen. Als nützlich erweist sich die Funktion, sich einen Report mit den Meldungen abzuspeichern und auszudrucken. Sofern der SCS ohne Fehler durchläuft, können Sie auswählen, welche Komponenten des SQL Server 2005 Sie installieren wollen.

Die eigentliche Installation benötigt keinen weiteren Eingriff. Auf Grund des hohen Sicherheitsanspruchs wird jeweils nur das Nötigste installiert und aktiviert! Selbst die Installation von Beispieldatenbanken muss extra ausgewählt werden.

Nach der Installation können Sie sich eine Zusammenfassung der einzelnen Aktionen anzeigen lassen und direkt das Surface Area Configuration Tool verwenden. Auf dieses neue und wichtige Werkzeug gehen wir beim Punkt Sicherheit noch näher ein.

Upgrade von den Vorgängern

Sofern Sie ein Upgrade von einer Vorgängerversion auf den SQL Server 2005 planen, müssen Sie ein paar Punkte berücksichtigen. Wie bereits erwähnt, wird Windows NT nicht mehr unterstützt. Zudem ist kein Upgrade von der Version 6.5 auf 2005 vorgesehen. Dieses können Sie nur realisieren, indem Sie zunächst auf Version 7.0 aktualisieren.

Zur Unterstützung des Administrators bei der Planung eines Upgrades hat Microsoft den „SQL Server Upgrade Advisor“ entwickelt. Dieses Werkzeug analysiert installierte SQL Server 7 und 2000 sowie die Datenbanken auf eventuelle Probleme, die eine Installation des SQL Server 2005 verhindern könnten. Neben der eigentlichen Datenbank-Komponente kann das Tool die Analysis Services, die Notification Services, die Reporting Services und die Data Transformation Services analysieren.

Im Anschluss an die Analyse erhalten Sie einen Report, der für die einzelnen Komponenten aufschlüsselt, mit welchen Problemen im Detail zu rechnen ist. Dabei wird unterschieden, ob es sich nur um eine Warnung oder um ein schwer wiegendes Problem handelt. Zudem gibt das Tool Hinweise, wie man diese Probleme eventuell lösen kann.

SQL Server 2000 und SQL 2005 parallel

Wie schon bei den Vorgängern besteht auch beim SQL Server 2005 die Möglichkeit, dass die einzelnen SQL-Server-Instanzen nicht alle den gleichen Versionsstand haben müssen. Der Administrator hat also wieder die Gelegenheit, die Instanzen nacheinander upzugraden statt alle auf einmal. Es werden nur die gemeinsam genutzten Werkzeuge auf den aktuellen Stand gebracht, da diese auch wieder die Arbeit mit den Vorgängerversionen unterstützten.

Außerdem hat der Administrator die Chance, in einer bestehenden größeren SQL-Server-Umgebung die neue Version allein zur Verwaltung zu nutzen. Durch die Optimierung für die Arbeit mit großen Mengen an Datenbankobjekten rentiert sich ein einzelner SQL Server 2005 allein schon als Konsolenarbeitsplatz.

Darüber hinaus sollten Sie eruieren, an welchen Positionen es sich für größere Umgebungen eventuell lohnt, kurzfristig auf einen produktiven SQL Server 2005 umzusteigen. Durch sein neues ETL-Werkzeug, die SQL Server Integration Services, kann er für komplexe Prozesse eingesetzt werden. Mit einer erweiterten Unterstützung für die Replikation mit Oracle-Servern kann der neue SQL Server als Brücke in diese Welt dienen.

Werkzeuge für den Administrator

Wie bereits erwähnt, hat sich auf den ersten Blick für den Administrator alles geändert. Dieser Eindruck beruht hauptsächlich auf der Tatsache, dass alle vertrauten Werkzeuge der Vorgängerversionen verschwunden sind und stattdessen eine Reihe von neuen Helfern zur Verfügung gestellt wird.

Der „Enterprise Manager“ und der „Query Analyzer“ sind durch das Management Studio ersetzt worden. Microsoft ist dabei neue Wege gegangen und hat als Basis für das Management Studio die Oberfläche seines neuen Entwicklerwerkzeugs Visual Studio 2005 verwendet. Am Anfang mag dieser Schritt merkwürdig erscheinen, aber das Management Studio stellt für jeden Administrator sicher eine Liebe auf den zweiten Blick dar.

Was bei den ersten Schritten mit dem Management Studio sofort auffällt, ist die Tatsache, dass Sie endlich einen triftigen Grund für die Beschaffung eines neuen Displays haben. Die Arbeit mit einer Bildschirmauflösung unter 1024 x 768 gestaltet sich als fast unmöglich. Da hilft es auch nicht viel, dass die Oberfläche des Management Studio, genau wie die des Visual Studio, mit verschieb- und ausblendbaren Fenstern frei gestaltbar ist. Spätestens beim ersten Wartungsplan wird der verfügbare Platz knapp.

Positiv wird Ihnen dagegen auffallen, dass Sie mehrere Dialoge parallel öffnen können. Damit lassen sich nebenbei Aufgabenstellungen lösen, ohne die Dialoge anderer Datenbankobjekte schließen zu müssen. Durch dieses Feature sollen Flüchtigkeitsfehler vermieden werden, die oft dadurch auftreten, weil etwas in Eile abgeschlossen werden musste.

Das Management Studio

Insgesamt macht das Management Studio einen sehr durchdachten Eindruck. Die wesentlichen Fenster sind „Registered Servers“ und „Object Explorer“. Mit diesen beiden Fenstern ist nun auch die Arbeit in sehr großen SQL-Server-Umgebungen möglich, da jetzt nicht mehr alle verfügbaren Datenbankobjekte zuerst geladen werden, bevor überhaupt etwas angezeigt wird.

Des Weiteren wird es den Administrator freuen, dass er nun jede Aktion oder Änderung im Management Studio als Auftrag planen und die Ausführung mittels eines Zeitplans steuern kann. Darüber hinaus besteht die Chance, sich für alle Tätigkeiten ein T-SQL-Script zur Weiterverwendung erstellen zu lassen.

Diese Scripts lassen sich dann im „Query Editor“ des Management Studios bearbeiten und ausführen. Dieser ist der Ersatz für den bisher separaten „Query Analyzer“ der Vorgängerversionen. Dem Editor ist seine Verwandtschaft zum Visual Studio positiv anzumerken, da er nun alle Features eines Code-Editors beherrscht.

Das zweite große neue Werkzeug ist das „Business Intelligence Development Studio“ für den Entwickler. Der Aufbau ist ähnlich dem Management Studio, aber der Fokus liegt eindeutig auf dem Erstellen von Reports, ETL-Prozessen und OLAP-Lösungen.

Der Dienst-Manager ist durch den Computer Manager ersetzt worden. Dieser ist ein MMC-Snapin und ermöglicht die Verwaltung der SQL-Server-Dienste aus einer Management Console heraus.

Als Ersatz für osql und isql gibt es nun das Tool sqlcmd. Dieses bietet neue Funktionen sowie eine dedizierte Server-Verbindung und ermöglicht so eine Administration per Befehlszeile.

Wartungspläne

Wie in einem Flussdiagramm kann der Administrator die Reihenfolge der Aufgaben planen. Der Ablauf der Tasks wird über Bedienungen gesteuert. Mit diesen lässt sich beispielsweise prüfen, ob ein vorheriger Task erfolgreich ausgeführt wurde oder fehlgeschlagen ist. Die Bedingungen werden als verbindende Pfeile zwischen den Tasks dargestellt. Je nach Art der Bedingung haben die Pfeile eine andere Farbe:

Mit diesen Möglichkeiten lassen sich auch komplexe Wartungspläne schnell erstellen. Für eine fehlerfreie Konfiguration der einzelnen Tasks unterstützt der SQL Server den Administrator durch einen Hinweis, wenn zum Beispiel notwendige Konfigurationen abgeschlossen worden sind.

Zur besseren Dokumentation lassen sich Anmerkungen zusammen mit den Wartungsplänen ablegen. Neue Wartungspläne erstellen Sie entweder ganz von Hand oder Sie lassen sich vom „SQL Server Maintenance Wizard“ unter die Arme greifen.

Wartungsaufgaben

Folgende Aufgaben stehen Ihnen für Wartungspläne zur Verfügung:

Check Database Integrity

Überprüft die Integrität aller Objekte in einer Datenbank. Es wird der Befehl „DBCC CHECKDB“ verwendet.

Shrink Database

Verkleinert Datenbanken und deren Transaktions-Logs. Es wird der Befehl „DBCC SHRINKDATABASE“ verwendet.

Reorganize Index

Reorganisiert Indizes von Datenbank-Tabellen und Sichten.

Rebuild Index

Baut Indizes von Datenbank-Tabellen und Sichten neu auf.

Update Statistics

Aktualisiert die Statistiken für eine Tabelle oder eine indizierte Sicht. Es wird der Befehl „UPDATE STATISTICS“ verwendet.

Clean Up History

Löscht aus der msdb-Datenbank alte Verlaufsdaten über Sicherungen, Aufträge und Wartungspläne.

Execute SQL Server Agent Job

Führt einen SQL-Server-Agent-Auftrag aus.

Execute T-SQL Statement

Führt einen oder mehrere T-SQL-Befehle aus.

Notify Operator

Versendet eine Benachrichtigung an einen SQL Agent Operator.

Backup Database

Führt eine Datensicherung einer oder mehrerer Datenbanken durch. Es wird der Befehl „BACKUP“ verwendet.

Hochverfügbarkeit

Eines der Designziele für den SQL Server 2005 war das Erreichen einer höheren Verfügbarkeit. Das Ziel waren die berühmten „five nines“ (99,999 %), das sind umgerechnet auf ein Jahr gerade einmal ungefähr fünf Minuten, in denen ein Service nicht erreichbar ist.

Die bekannteste Möglichkeit zur Steigerung der Verfügbarkeit - die Bildung eines Clusters - wurde dahingehend optimiert, dass nun alle Komponenten Cluster-fähig geworden sind und statt vier nun acht Knoten unterstützt werden.

In der Regel wird ein Cluster für die Verfügbarkeit eines Systems bei so genannten „geplanten Ausfällen“ wie beispielsweise Updates eingesetzt. Darüber hinaus hatte der SQL Server aber schon in den Vorgängerversionen zusätzliche Möglichkeiten bezüglich der Ausfallsicherheit bei „ungeplanten Ausfällen“.

Die bekannteste Funktion ist dabei sicherlich das „Log Shipping“, bei dem Sicherungen des Transaktions-Logs eines SQL Servers auf einen Standby-Server übertragen werden. Dazu muss zwischen den beiden Geräten lediglich eine Verbindung für die Übertragung zur Verfügung stehen. Der einzige Wermutstropfen war, dass diese Funktion beim SQL Server 2000 nur in der Enterprise Edition zur Verfügung stand. Die Neuigkeit beim SQL Server 2005 ist nun, dass auch die Standard und die Workgroup Edition dieses Feature unterstützen.

Datenbank-Spiegelung

Eine neue Funktion ist das „Database Mirroring“. Diese bietet eine ähnliche Verfügbarkeit wie ein Cluster, ohne zu hohe Ansprüche an die Hardware zu stellen. Für den Einsatz wird aber die Enterprise Edition des SQL Server 2005 benötigt.

Der Ablauf ist auf den ersten Blick ähnlich des Log Shippings, da Transaktionen von einem Server auf einen anderen übertragen werden. Das Ganze erfolgt jedoch ohne eine Sicherung des Transaktions-Logs. Die Daten werden direkt mittels TCP/IP von einem zum anderen Server übertragen.

In der Regel sind am Mirroring drei Server beteiligt. Einer ist der laufende Datenbank-Server (Principal Server), einer der Spiegel-Server (Mirror Server) und einer ist der „Zeuge“ (Witness), der das Ganze überwacht und im Notfall die Übernahme durch den Mirror Server aktiviert.

Um die Verfügbarkeit der Datenbank zu erhöhen, kann der SQL Server in der neuen Version Indizes auch während des Betriebs erneuern und aufbauen.

Für den Fall, dass doch einmal etwas schief geht und ein SQL Server 2005 schnell wieder verfügbar sein muss, wurde der Start der Database Engine bezüglich der automatischen Wiederherstellung optimiert.

Sicher „by default“

Neben der Hochverfügbarkeit hat Microsoft sich die Sicherheit des gesamten Systems bei der Entwicklung des SQL Server 2005 auf die Fahne geschrieben. Das gesteckte Ziel ist „Secure by default“. Microsoft setzt dieses dadurch um, dass nach der Installation des SQL Server 2005 zunächst alle Dienste zur Kommunikation deaktiviert sind und vom Administrator „freigeschaltet“ werden müssen.

Damit auch dieser Vorgang schön übersichtlich und einfach verlaufen kann, wird dem Administrator dafür das Werkzeug „SQL Server Surface Area Configuration“ zur Seite gestellt. Mit diesem Tool hat der Administrator die Möglichkeit, die Funktionen der einzelnen Komponenten und die Netzwerkverbindungen zu den Instanzen zu konfigurieren. Er kann dabei jeweils auf zwei verschiedene Sichten zurückgreifen, aus der Sicht der Instanz und aus der Sicht der Komponente. Außerdem lassen sich die Konfigurationen in eine XML-Datei exportieren und stehen damit zum Import auf anderen Servern zur Verfügung.

Zur Authentifizierung an einem SQL Server gibt es immer noch zwei Modi: Über Windows oder über einen SQL Server Login. Beide Modi haben auch weiterhin ihre Berechtigung, im Detail wurde aber vieles überarbeitet.

Für die Verwaltung der SQL Server Logins stehen nun Richtlinien für die Komplexität und Lebensdauer der Passwörter zur Verfügung. Des Weiteren ist eine Überwachung der Login-Vorgänge möglich.

Schemata für Sicherheit

Durch die Einführung der „Schemata“ hat Microsoft eine weitere Sicherheitsschicht in den Autorisierungsprozess für den Zugriff auf Datenbankobjekte gezogen. In den Vorgängerversionen gehörte ein Datenbankobjekt immer direkt einem User. Durch diese Zuordnung konnten aber auch Probleme entstehen und das ganze Konstrukt schnell lästig werden, so dass fast alle Administratoren den Standardbenutzer „dbo“ als Besitzer von Datenbankobjekten verwendet haben.

Mit dem Container Schema lassen sich Berechtigungen nun elegant an User und User-Gruppen vergeben und verwalten. Darüber hinaus hat Microsoft im SQL Server 2005 wesentlich feinere Rechte für den Zugriff auf Datenbankobjekte eingeführt.

Für die Nutzung der Systemprozedur xp_cmdshell kann nun ein Proxy-Account hinterlegt werden, in dessen Kontext die Prozedur dann ausgeführt wird.

Datensicherung und -wiederherstellung

Die wohl wichtigsten Funktionen für jeden Administrator, die Sicherung und Wiederherstellung von Daten, wurde ebenfalls überarbeitet. Viele der Erweiterungen gehen dabei über die üblichen Funktionen deutlich hinaus und unterstützen nebenbei auch noch die Hochverfügbarkeit des gesamten Systems.

In der Vorgängerversion SQL Server 2000 war eine Datenbank während der Wiederherstellung von Daten für die Anwender nicht verfügbar. Mit dem SQL Server 2005 ist eine Datenbank nun schon nach dem Rücksichern der primären Dateigruppe wieder verfügbar, wenn auch nur zum Teil. Die weiteren Dateigruppen können dann nach und nach zurückgesichert werden. Solange der Anwender nur auf Daten innerhalb der bereits verfügbaren Dateigruppen zugreift, bleibt der restliche Vorgang für ihn transparent.

Der Administrator hat nun die Möglichkeit, für die Sicherung gespiegelte Medien zu verwenden. Eine Sicherung lässt sich parallel auf bis zu vier Medien schreiben. Ein Medium kann dabei, wie bei den Vorgängerversionen, ein Band oder eine Datei auf einem Laufwerk sein.

Der SQL Server 2005 kann parallel die Datenbank und das Transaktions-Log sichern. Bisher mussten diese Aufgaben hintereinander durchgeführt werden. Darüber hinaus wurde das Verfahren zur Überprüfung einer Sicherung deutlich überarbeitet. In Kombination mit dem neuen Feature für die Bildung von Check-Summen auf Seitenebene einer Datenbank lässt sich nun eine äußerst verlässliche Aussage zur Verwendbarkeit treffen.

Neue Frameworks

Microsoft hat nicht nur die Werkzeuge und Vorgehensweisen des SQL Server überarbeitet, sondern auch das Framework DMO (Distributed Management Objects) zur Verwaltung des Servers.

Das neue Framework SMO (SQL Server Management Objects) unterstützt alle Funktionen des SQL Server 2005. Damit ist der Administrator in der Lage, alle notwendigen Funktionen zur Verwaltung eines SQL Servers innerhalb einer Anwendung zu kapseln. Selbstverständlich basiert SMO auf dem .NET Framework 2.0.

Für Administratoren, die bereits eine Reihe von Funktionen in DMO gekapselt haben, besteht kein Anlass zur Sorge. Microsoft hat für die Kompatibilität zur alten Version gesorgt, DMO wird noch unterstützt. Der kleine Haken an der Sache ist der, dass nur die Funktionen unterstützt werden, die in der Vorgängerversion dabei waren. Für alle neuen Funktionen müssen Sie dann doch auf SMO zurückgreifen.

Auch die restlichen Frameworks wurden erneuert: Der Nachfolger von DSO (Decision Support Objects) ist AMO (Analysis Management Objects). Die DSO werden auch weiterhin unterstützt. Mit den Replication Management Objects (RMO) bietet Microsoft ein Framework zur Erstellung von Replikationslösungen.

Weiterhin hat Microsoft die in den Vorgängerversionen oft als nicht ausreichend bezeichnete Windows Management Instrumentation (WMI) deutlich erweitert. Diese wird nun auch den Ansprüchen zur Verwaltung von großen Datenbankumgebungen gerecht.

Ausblick

Der in diesem Artikel gegebene Überblick über die Änderungen beim SQL Server 2005 macht eines mit Sicherheit deutlich: Es gibt vieles zu lernen und zu tun!

Das Unternehmen Microsoft hat mit der neuen Version des SQL Servers gezeigt, dass es ihm mit diesem Produkt ernst ist. Darüber hinaus werden immer mehr Produkte und Lösungen aus Redmond den SQL Server 2005 als Plattform voraussetzen.

Viele Erweiterungen scheinen auf den ersten Blick nur den Entwickler zu betreffen, aber mit dem SQL Server 2005 ist auch der Administrator gefordert, sich mit der aktuellen .NET-Architektur und -Philosophie auseinander zu setzen.

Der SQL Server 2005 stößt mit der direkten Unterstützung von XML Web Services nun endgültig in den Bereich der Applikations-Server vor. Damit wird er in Zukunft immer häufiger zu einer notwendigen Komponente in komplexen Lösungsszenarien werden. Gleichzeitig müssen aber die Administratoren auch in der Lage sein, diese neuen Fähigkeiten zu verstehen und den Zugriff auf diese steuern. Mit seinen neuen Möglichkeiten sind auch die Anforderungen an die Umgebung deutlich gewachsen. Das betrifft sowohl Infrastruktur und Security als auch den Kenntnisstand des verantwortlichen Administrators.

Durch die Erweiterungen zur Verwaltung von wesentlich größeren Datenmengen und der Bereitstellung einer deutlich höheren Verfügbarkeit wird der SQL Server nun auch in Umgebungen einziehen, für die er bisher als ungeeignet galt.

Des Weiteren ist damit zu rechnen, dass die Business-Intelligence-Komponenten des SQL Server immer häufiger in Unternehmen genutzt werden. Es muss nicht immer ein komplexes Datawarehouse sein, häufig decken die aktuellen Reporting Services den Bedarf nach einer zentralen Auswertungslösung.

Neben diesen klassischen Einsatzgebieten wird der SQL Server 2005 auch immer mehr Einzug in der restlichen Produktwelt von Microsoft halten. Schon heute ist er eine zentrale Komponente für Produkte wie beispielsweise den System Management Server, den Operations Manager, den SharePoint Portal Server und den Project Server.

Microsoft hat angekündigt, dass in einer zukünftigen Version des Exchange Servers der Postfachspeicher mit einem SQL Server verwaltet werden soll. Auch das erwartete Filesystem WinFS soll auf den Technologien des SQL Server basieren. (mha)