Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2006.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Der SQL Server 2005 Express Edition kommt mit einer eigenen Verwaltungsoberfläche.

Techniken

SQL

Voraussetzungen

SQL Server 2005, SQL Server Studio Management Studio Express, .NET Framework 2.0

Beispieldatei

-

Shortlink

410

Das SQL Server Management Studio Express

Ruprecht Dröge, Ratingen

Für die neue Version der kostenlosen Variante des SQL Servers 2005 hat Microsoft mit dem Service Pack 1 jetzt eine eigene Verwaltungsoberfläche bereitgestellt: Das SQL Server Management Studio Express. Über diese Oberfläche lassen sich (beinahe) alle wichtigen administrativen Aufgaben erledigen. Dieser Beitrag vermittelt einen Überblick über diese neue Anwendung und zeigt gleichzeitig einige wichtige Aspekte des SQL Servers auf.

Voraussetzungen

Die Arbeit mit dem SQL Server Express Edition setzt das .NET Framework in der Version 2.0 voraus. Die schnellste Variante zur Installation heißt im besten Microsoft-Jargon Microsoft .NET Framework Version 2.0 Redistributable Package (x86) und ist beispielsweise unter [1] zu beziehen.

Da Microsoft die neueste Variante des SQL Servers unbedingt noch SQL Server 2005 nennen wollte, das Jahresende aber unweigerlich näher rückte, sind einige Arbeiten nicht ganz abgeschlossen worden.

Ungewöhnlicherweise wurde daher mit der Produktveröffentlichung im November 2005 gleich das erste Service Pack (SP1) für den frühen Sommer 2006 angekündigt. Zu den Funktionen, die nicht mehr rechtzeitig zum Release-Datum fertig wurden, gehört auch die nachfolgend besprochene Verwaltungsoberfläche für die Express- Version. Dazu gibt es eine weitere Besonderheit: Das Service Pack 1 für den SQL Server 2005 Express Edition ist nicht, wie sonst üblich, als zusätzlicher Download verfügbar, sondern als eigenes Setup.

Zudem erfordert die Installation das komplette Entfernen aller bisher installierten Versionen von SQL Server 2005 Express Edition [2]. Nach erfolgreichem Setup kann dann die neue Oberfläche installiert werden. Einen entsprechenden Download finden Sie unter [3].

Als sei dies noch nicht verwirrend genug, veröffentlichte Microsoft mit dem Service Pack 1 zudem eine völlig neue Variante namens Microsoft SQL Server 2005 Express Edition with Advanced Services [4]. Diese Variante enthält neben SQL Server 2005 Express Edition mit Service Pack 1 noch zwei weitere Dienste: die Volltextsuche und die Reporting Services.

Die Volltextsuche ermöglicht es, sehr effizient und schnell in allen Textfeldern einer Tabelle nach vorkommenden Wörtern zu suchen - auch in solchen vom Datentyp text, die bis zu 2 Gigabyte groß sein können.

Die Reporting Services stellen einen Berichtsserver bereit, der über eine Weboberfläche Reports auf Grundlage vielfältigster Datenquellen zentral zur Verfügung stellt.

Sollten Sie an einer Möglichkeit interessiert sein, Berichte mit dem SQL Server 2005 ohne zusätzlichen Programmieraufwand (wie ihn etwa die Implementierung unter Crystal Reports oder List & Label aus einer .NET Anwendung heraus erfordert) einfach und dennoch mit einer hohen Funktionalität zu erstellen, dann sollten Sie sich diese Variante unbedingt anschauen.

Es stehen Ihnen daher im Grunde zwei Optionen offen: Entweder entscheiden Sie sich für die Grundvariante des SQL Server Express Edition mit Service Pack 1 und installieren dann das SQL Server Management Studio 2005, oder Sie wählen den Microsoft SQL Server 2005 Express Edition with Advanced Services, der die Verwaltungsoberfläche auf Wunsch direkt miteinrichtet.

Die verschiedenen Aspekte sind in der Tat etwas verwirrend. Wenn Sie alles in Ruhe noch einmal nachlesen wollen, finden Sie Infodateien mit zusätzlichen detaillierten Hinweisen unter [5].

Erster Aufruf

Nach erfolgreicher Installation können Sie das Management Studio aus der neu erstellten Programmgruppe des SQL Server 2005 aufrufen. Dabei werden Sie aufgefordert, sich an der Datenbank anzumelden (s. Abb. 1).

01 Anmeldedialog.bmp

Abb. 1: Anmeldedialog für den SQL Server

Wie Sie sicher wissen, unterstützt der SQL Server 2005 zwei verschiedene Möglichkeiten der Authentifizierung: die Windows- und die SQL Server-Authentifizierung. Im ersten Fall werden Sie einfach mit Ihrer Windows-Kennung zum SQL Server verbunden. Das heißt natürlich nicht, dass alle Windows-Benutzer sofort auf alle Funktionen zugreifen können (dies kann man sehr detailliert im SQL Server einstellen), sondern dass keine erneute Eingabe eines Benutzernamens und eines Kennworts nötig ist.

Dies ist die von Microsoft empfohlene Authentifizierung, weil diese unter den neuen Betriebssystemen zum Beispiel eine Kerberos-Verschlüsselung unterstützt und daher als sehr sicher gilt.

Die SQL Server-Authentifizierung erfordert die erneute Eingabe von Benutzername und Kennwort. Die entsprechenden Daten verwaltet der SQL Server. Sollen Benutzer auf diese Weise auf den SQL Server zugreifen, muss der Administrator für jeden Nutzer ein entsprechendes Benutzerkonto im SQL Server erstellen.

Man könnte sich fragen, warum es überhaupt zwei Möglichkeiten gibt. Die Windows-Authentifizierung sollte immer dann gewählt werden, wenn nur Nutzer eines Unternehmens auf die Daten im SQL Server zugreifen. Die SQL Server- Authentifizierung ist dann interessant, wenn Sie etwa eine Webanwendung erstellen und dann Außenstehenden erlauben wollen, sich am SQL Server anzumelden - so muss man nicht für jeden Kunden ein Windows-Konto in der eigenen Domäne anlegen.

Zudem ist es im Umfeld selbst erstellter Anwendungen üblich, dass die Sicherheit (wer darf auf was zugreifen) sowieso über die Berechtigungsstruktur des Programms geregelt wird. Die Anwendung selber greift dann über ein so genanntes Stellvertreter-(oder Proxy-)Konto auf den Server zu.

Sie können den Authentifizierungs-Modus (Nur Windows oder Windows und SQL Server) jederzeit umstellen. Öffnen Sie dazu im Objekt-Explorer mit der rechten Maustaste das Kontextmenü auf der Ebene des Servers und wählen Sie den Eintrag Eigenschaften aus.

Im Bereich Sicherheit können Sie den Modus wechseln (s. Abb. 2). Sie werden dort darauf hingewiesen, dass der Dienst neu gestartet werden muss. Daher empfiehlt es sich, diesen einzustellen, bevor Sie das System im Produktivbetrieb einsetzen.

02 Sicherheitsmodus.bmp

Abb. 2:
Einstellen des
Authentifizierungs-Modus

Der Name des SQL Servers im Anmeldedialog setzt sich aus dem Netbios-Namen des Rechners, auf dem der Server installiert ist, und dem Namen der Instanz zusammen (in der Standardinstallation heißt diese SQLExpress).

Fenster, Fenster, Fenster

Das SQL Server Management Studio Express ist auf der Grundlage von Visual Studio entwickelt worden. Einigen Benutzern ist es daher zu „Entwickler“-lastig, zu technisch und daher zu wenig an den Bedürfnissen der Administratoren ausgerichtet. Dies sind im Allgemeinen nur Vorbehalte zu Beginn der Arbeit.

Man gewöhnt sich schnell an die vielen interessanten Möglichkeiten. Nach der Installation und der Anmeldung am SQL Server ist die Anwendung in zwei Fensterbereiche aufgeteilt.

Links ist der Objekt-Explorer zu sehen, der einen Überblick über alle im Server verfügbaren Objekte wie Tabellen, Sichten etc. gibt.

Der rechte Teil enthält die Zusammenfassung, hier werden auch etwa die Abfragefenster geöffnet.

Registrierte Server

Wenn Sie mehr als einen SQL Server verwalten, kann es sehr hilfreich sein, alle benötigten Server im Fenster Registrierte Server einzutragen (s. Abb. 3). Dazu wählen Sie im Menü Ansicht den Eintrag Registrierte Server.

Im nun erscheinenden Fenster nehmen Sie über den Kontextmenü-Eintrag Neu eine neue Serverregistrierung vor.

Danach können Sie schneller auf die eingetragenen Server zugreifen und diese entweder wie gewünscht im Objekt-Explorer oder mit einer neuen Abfrage aufrufen.

Vorlagen-Explorer

Unter dem Menü Ansicht finden Sie unter anderem den Vorlagen-Explorer, der weiterhilft, wenn man die Syntax eines SQL Server-Befehls mal nicht aus dem Stegreif kennt.

Im Allgemeinen schaut man zwar in der Online-Dokumentation nach, das SQL Server Management Studio stellt jedoch auch eine ganze Reihe Vorlagen bereit.

04 Vorlagen-Explorer.bmp

Abb. 3: Für die meisten SQL-Server-Befehle sind Vorlagen verfügbar.

Dazu wählen Sie einfach einen entsprechenden Bereich wie Assembly oder Database aus und klicken doppelt auf den gewünschten Eintrag. Danach erstellt das Management Studio eine neue Abfrage mit Platzhaltern für die passenden Ausdrücke.

Dynamische Hilfe

Es gibt viele Vorbehalte gegen Microsofts Hilfedateien, die teilweise Relikte aus Zeiten von Windows for Workgroups 3.11 sind. Die Hilfe des SQL Server Management Studios kann man damit nicht mehr vergleichen. Wenn Sie das Hilfe-Fenster einblenden, eine neue Abfrage erstellen (zum Beispiel über die Schaltfläche Neue Abfrage links oben unter der Menüleiste) und mit der Texteingabe beginnen, liefert die dynamische Hilfe entsprechende Hinweise. Die dynamische Hilfe blenden Sie über den Menüeintrag ?/Dynamische Hilfe ein.

Sollte dies bei Ihnen nicht gelingen, haben Sie vielleicht die Online-Dokumentation noch nicht installiert. Laden Sie diese in einer aktualisierten Version unter [6] herunter und installieren Sie
diese.

Arbeiten mit dem SQL Server Management Studio

Die Arbeit im SQL Server Management Studio erfolgt recht intuitiv. Die folgenden Aspekte sollen anhand einer kleinen Beispieldatenbank vorgestellt werden.

Dabei werden einige grundlegende Aspekte des SQL Servers angesprochen. Microsoft stellt für den SQL Server 2005 eine Beispieldatenbank mit dem Namen AdventureWorks bereit, die auch im vorliegenden Beitrag zum Einsatz kommt [7].

Die Datenbank ist direkt nach der Installation noch nicht im SQL Server verfügbar, da bisher nur die Datendateien (eine MDF- und eine LDF-Datei) im Dateisystem gespeichert wurden. Vor dem Zugriff müssen Sie dem SQL Server diese Dateien noch bekannt machen. Beim SQL Server heißt dieser Vorgang „anfügen“ oder englisch „attach“.

Wechseln Sie in den Objekt-Explorer und markieren Sie den Eintrag der Datenbanken. Dort finden Sie im Kontextmenü (rechte Maustaste) den Eintrag Anfügen. Im nun erscheinenden Dialog klicken Sie auf die Schaltfläche Hinzufügen und wählen die AdventureWorks-Datei aus (s. Abb. 4).

05 Anfügen von AdventureWorks.bmp

Abb. 4: Anfügen der Beispieldatenbank AdventureWorks

Dialoge

Damit auch andere mit dem SQL Server arbeiten können, soll eine neue Anmeldung erstellt werden. Voraussetzung für das Beispiel ist die Unterstützung der SQL Server-Authentifizierung. Wenn noch nicht geschehen, schalten Sie diese in den Eigenschaften des Servers ein. Es soll ein neues Administrator-Konto erstellt werden. Standardmäßig heißt der Administrator im SQL Server sa (für System Administrator). Früher konnte man mit diesem Benutzernamen und einem leeren Kennwort in 80% aller SQL Server eindringen, weil die Benutzer kein Kennwort gesetzt hatten.

Diesen Umstand hat auch einmal ein wirklich böser Virus namens SQLSlammer ausgenutzt und das Service Pack 3 für den SQL Server 2000 unbedingt nötig gemacht. Sie sollten also dringend ein starkes Passwort vergeben und gleichzeitig einen individuellen Benutzernamen wählen - sonst würden pozentielle Angreifer ja schon im Voraus eine Hälfte der Kombination aus Benutzername und Kennwort kennen.

Natürlich müssen Sie den alten Administrator namens sa im gleichen Zug deaktivieren beziehungsweise entfernen.

Im Objekt-Explorer wählen Sie dazu im Kontextmenü des Eintrags Sicherheit/Anmeldungen den Eintrag Neue Anmeldung aus (s. Abb. 7).

06 Neue Anmeldung.bmp

Abb. 5:
Erstellen einer neuen Anmeldung

Starkes Kennwort

Wählen Sie ein Kennwort, das mindestens sechs Zeichen lang ist, am besten mit Zahlen, wechselnder Groß- und Kleinschreibung und anderen Sonderzeichen. Empfehlenswert sind Merksprüche wie „Sicherheit ist ja so toll, 1, 2, 3 juche!“, wobei unter Benutzung der Anfangsbuchstaben das Passwort „Sijst123j!“ entsteht, das schon recht sicher ist.

Wenn Sie Kennwortrichtlinie erzwingen und Ablauf des Kennwortes erzwingen wählen, heißt dies nicht, dass Sie eine Kennwortrichtlinie haben oder dass das Passwort wirklich abläuft. Dies bedeutet lediglich, dass die auf Ihrem Rechner geltenden Richtlinien beachtet werden. In einem Unternehmen werden diese meist zentral administriert.

Im Unternehmen?

Wenn Sie in einem Unternehmen arbeiten und in regelmäßigen Abständen Ihr Kennwort ändern sollen und dieses bestimmten Kriterien genügen muss, ist eine solche Richtlinie in Ihrem Unternehmen aktiv und gilt dann auch für die Kennwörter im SQL Server.

Sie können auf einem Einzelplatz auch lokale Richtlinien durchsetzen. Die passenden Optionen dazu finden Sie unter Systemsteuerung/Verwaltung/Lokale Sicherheitsrichtlinie und dort im Bereich Sicherheitseinstellungen/Kontorichtlinien/Kontosperrungsrichtlinien.

Wenn Sie im SQL Server die Option Ablauf des Kennwortes erzwingen wählen, bedeutet dies, dass Ihre Anwendung das Ändern des Kennworts auch unterstützen muss.

Da frühere SQL Server-Versionen diese Option nicht kannten, unterstützen nicht alle Anwendungen das Feature.

Das Kontrollkästchen Benutzer muss Kennwort bei der nächsten Anmeldung ändern ist fehlerhaft.

Wenn Sie diese Option aktivieren, erhalten Sie eine Fehlermeldung, dass diese Version des SQL Servers dies nicht unterstützt. Für den SQL Server 2005 Express sollte diese Option eigentlich deaktiviert sein.

Rollenverteilung

Nach dem Eingeben der Benutzerdaten wechseln Sie in den Bereich Serverrollen und wählen dort den Eintrag sysadmin aus. Bestätigen Sie den Dialog mit OK.

Es fehlt natürlich noch die Deaktivierung des bisherigen Systemadministrators sa. Zum Deaktivieren eines Benutzers wählen Sie diesen zunächst im Objektexplorer unter Sicherheit/Anmeldungen aus, zeigen über das Kontextmenü dessen Eigenschaften an und stellen den Anmeldenamen im Bereich Status als Deaktiviert ein.

07 Deaktivieren.bmp

Abb. 6:
Die Aktion jedes Dialogs kann auch als Skript ausgegeben werden.

Sie können das für diese Aktion verantwortliche SQL-Skript in ein neues Abfragefenster schreiben lassen, wie in Abb. 8 zu sehen. Beinahe alle Dialoge sind nur noch Assistenten zur Erzeugung von SQL-Anweisungen.

Sie können die SQL-Anweisung entweder sofort ausführen oder wie in diesem Beispiel in ein eigenes Abfragefenster schreiben lassen.

Den Dialog kann man dann nach getaner Arbeit über die Schaltfläche Abbrechen verlassen. Das erstellte Skript ist in diesem Fall sehr übersichtlich:

ALTER LOGIN [sa] DISABLE

GO

Auch wenn Sie ein Objekt schon erstellt oder eine Aktion schon ausgeführt haben, können Sie sich das entsprechende Skript noch generieren lassen. Im Kontextmenü der einzelnen Objekte finden Sie den Eintrag Skript generieren, der Ihnen ein Skript zum Erstellen, Löschen oder Ändern von Objekten erstellt (s. Abb. 7).

08 Tasks Untermenü.bmp

Abb. 7: Einige Aufrufe findet man erst in Untermenüs.

Alle wichtigen Aufgaben sind in der Regel via Kontextmenü des entsprechenden Objekts erreichbar. Wenn Sie etwa eine neue Tabelle erstellen wollen, finden Sie den passenden Befehl im Kontextmenü des Eintrags Tabellen im Objekt-Explorer. Wenn Sie eine Datenbank sichern wollen, erledigen Sie dies über einen Eintrag des Kontextmenüs von Datenbanken.

Fehlender SQL Server Agent

Leider ist der SQL Server Agent, mit dem sich zeitlich gesteuerte Aufträge erstellen lassen, in der Express Edition nicht aktiviert. Damit Sie Aktionen trotzdem automatisieren können, gehen Sie wie in folgendem Beispiel vor: In diesem Fall soll die Datenbank AdventureWorks gesichert werden.

  1. Legen Sie ein neues Sicherungsverzeichnis an, etwa unter C:\BACKUP.
  2. Erstellen Sie eine neue Textdatei namens DBBACKUP.SQL und fügen Sie folgende Anweisung ein: BACKUP DATABASE AdventureWorks TO DISK=’C:\BACKUP\MEINBACKUP.BAK’
  3. Erstellen Sie eine BATCH-Datei namens C:\BACKUP\DBBACKUP.BAT mit folgendem Inhalt:
    @echo off SQLCMD –S .\SQLExpress –E –i C:\BACKUP\DBBACKUP.SQL
  4. Erstellen Sie einen geplanten Task (Systemsteuerung/Geplante Tasks), geben Sie C:\BACKUP\DBBACKUP.BAT als auszuführende Anwendung und als Benutzer einen Windows-Account mit Zugriff auf den SQL Server an.

Abfragen

Das SQL Server Management Studio bietet vielfältige Möglichkeiten zum Erstellen, Testen und Analysieren von Abfragen. Der Query Analyzer des SQL Servers 2000 ist vollständig im Management Studio aufgegangen. Wenn Sie mit der Schaltfläche Abfrage erstellen (oben links unter der Menüleiste) ein neues Abfragefenster geöffnet haben, könnten Sie auf die Idee kommen, nur die direkt Eingabe von Text, also von SQL-Statements, sei möglich (s. Abb. 8). Wie Access kennt der SQL Server aber auch einen QBE-Bereich (Query by Example). Der Kontextmenüeintrag liefert den Eintrag Abfrage in Editor entwerfen… zum Anzeigen der Entwurfsansicht. Der gleiche Editor wird auch benutzt, wenn Sie eine neue Sicht (View) erstellen. Die Abfragen können aber hier auch analysiert werden. Das Analysieren von Abfragen ist sicher nicht trivial, aber Sie sollen zumindest ein wenig Appetit bekommen. Führen Sie dazu einmal folgendes Skript aus:

USE [AdventureWorks]
GO
CREATE SCHEMA [Test]
GO
SELECT [CustomerID]
,[Title]
,[FirstName]
,[LastName]
,[AddressLine1]
,[AddressLine2]
,[City]
,[PostalCode]
,[CountryRegionName]
INTO [Test].[Customers]
FROM [Sales].[vIndividualCustomer]
GO

CREATE INDEX IDX_Conv ON [Test].[Customers] (City, CustomerID, Lastname, Firstname)

Das Listing führt eine Tabellenerstellungsabfrage aus und erstellt zudem einen Index. Geben Sie danach in einem neuen Abfragefenster die beiden folgenden Abfragen ein:

SELECT * FROM Test.Customers WITH (Index(0))

WHERE City=‘Lo%‘

GO

SELECT CustomerID, Lastname, Firstname, City

FROM Test.Customers

WHERE City=‘Lo%‘

09 Abfrageeditor.bmp

Abb. 8: Der SQL-Abfrageeditor

Die erste Abfrage lässt sich alle Felder der Tabelle ausgeben. Die Option (WITH (Index(0)) zwingt den SQL Server dazu, keinen Index zu benutzen. Das ist dann das Gleiche, als hätten wir unseren Index gar nicht erstellt. Mit diesem kleinen „Trick“ kann man also sehr einfach vorher oder nachher Szenarien erstellen, die den wirklichen Nutzen etwa eines Index beurteilen helfen. Wählen Sie dann die Schaltfläche Geschätzten Ausführungsplan anzeigen. Dabei erhalten Sie das Bild aus Abb. 9. Wie Sie sehen, „kostet“ die Abfrage ohne Index 99%, die mit Index nur 1%. Der Index hat die Abfrage also um einen erheblichen Faktor verbessert.

10 Query Analyser.bmp

Abb. 9: Analysieren von Abfragen

Zusammenfassung

Mit dem SQL Server Management Studio gibt es endlich eine kostenfreie Verwaltungsoberfläche für den SQL Server. Sie ist leicht bedienbar und bietet dennoch viele interessante Möglichkeiten. Die Einschränkungen sind eher in den Beschränkungen der Express Edition als in der Oberfläche begründet.

Quellen

[1] .NET 2.0:
http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

[2] SQL Server 2005 Express Edition Service Pack 1:
http://www.microsoft.com/downloads/details.aspx?
FamilyID=11350b1f-8f44-4db6-b542-4a4b869c2ff1
&DisplayLang=de

[3] SQL Server Management Studio Express:
http://www.microsoft.com/downloads/details.aspx?
FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796
&DisplayLang=de

[4] Microsoft SQL Server 2005 Express Edition with Advanced Services:
http://www.microsoft.com/downloads/details.aspx?
FamilyID=4c6ba9fd-319a-4887-bc75-3b02b5e48a40
&DisplayLang=de

[5] Infodateien für SQL Server 2005 SP1 und Editionen und Tools von SQL Server 2005 SP1 Express:
http://www.microsoft.com/downloads/details.aspx?
FamilyID=b0167129-5ac8-49c4-90bd-0493f3773081
&DisplayLang=de

[6] SQL Server 2005 Dokumentation:
http://www.microsoft.com/downloads/details.aspx?
FamilyID=BE6A2C5D-00DF-4220-B133-9C1E0B6585F
&displaylang=de

[7] Beispieldatenbanken:
http://www.microsoft.com/downloads/details.aspx?
FamilyID=E719ECF7-9F46-4312-AF89-6AD8702E4E6E
&displaylang=en

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.