1 - Vorwort [Seite 6]
2 - Inhaltsverzeichnis [Seite 8]
3 - 1 Einstieg in den MS SQL Server 2005 [Seite 14]
3.1 - 1.1 Kleiner Einstieg für neue Administratoren [Seite 14]
3.2 - 1.2 Neuigkeiten des MS SQL Servers 2005 [Seite 17]
3.3 - 1.3 Die Editionen des MS SQL Servers 2005 [Seite 25]
3.4 - 1.4 MS SQL Server 2000-Datenbanken auf die Version 2005 aktualisieren [Seite 27]
3.5 - 1.5 Fragen zu Kapitel 1 [Seite 30]
4 - 2 SQL Server Express - der kleine Bruder [Seite 32]
4.1 - 2.1 Voraussetzungen und Einschränkungen [Seite 32]
4.2 - 2.2 Das SQL Server Management Studio Express [Seite 35]
4.3 - 2.3 Wissenswertes für den Entwickler [Seite 39]
4.4 - 2.4 Fragen zu Kapitel 2 [Seite 43]
5 - 3 Installation und erste Schritte [Seite 46]
5.1 - 3.1 Durchführung der Installation [Seite 46]
5.1.1 - 3.1.1 Menügeführte Installation [Seite 46]
5.1.2 - 3.1.2 Installation wurde erfolgreich durchgeführt [Seite 52]
5.1.3 - 3.1.3 Troubleshooting [Seite 55]
5.1.4 - 3.1.4 Unbeaufsichtigte Installation [Seite 56]
5.2 - 3.2 Arbeiten mit dem MS SQL Server [Seite 58]
5.2.1 - 3.2.1 MSSQLServer-Service und andere Dienste [Seite 59]
5.2.2 - 3.2.2 MS SQL Server starten und beenden [Seite 60]
5.2.3 - 3.2.3 Informationen zum MS SQL Server [Seite 65]
5.3 - 3.3 Fragen zu Kapitel 3 [Seite 69]
6 - 4 Verwaltungstools des MS SQL Servers 2005 [Seite 72]
6.1 - 4.1 Die Komponenten des MS SQL Servers 2005 [Seite 72]
6.2 - 4.2 Der SQL Server Configuration Manager [Seite 74]
6.2.1 - 4.2.1 Dienste verwalten [Seite 75]
6.2.2 - 4.2.2 Netzwerkprotokolle verwalten [Seite 77]
6.3 - 4.3 SQL Server-Oberflächenkonfiguration [Seite 79]
6.4 - 4.4 Das SQL Server Management Studio [Seite 80]
6.4.1 - 4.4.1 Der Objekt-Explorer [Seite 83]
6.4.2 - 4.4.2 Registrierte Server [Seite 88]
6.4.3 - 4.4.3 Der Abfrage-Editor [Seite 91]
6.4.4 - 4.4.4 Wartungspläne erstellen [Seite 101]
6.5 - 4.5 SQLCMD [Seite 105]
6.6 - 4.6 Fragen zu Kapitel 4 [Seite 108]
7 - 5 Systemaufbau [Seite 110]
7.1 - 5.1 Client-Server-System [Seite 110]
7.2 - 5.2 Systemdatenbanken [Seite 113]
7.3 - 5.3 Metadaten [Seite 117]
7.4 - 5.4 Systemprozeduren und -funktionen [Seite 126]
7.4.1 - 5.4.1 Undokumentierte Systemprozeduren [Seite 129]
7.4.2 - 5.4.2 DBCC-Anweisungen [Seite 133]
7.4.3 - 5.4.3 Systemfunktionen [Seite 136]
7.4.4 - 5.4.4 Den Code von Systemprozeduren anzeigen [Seite 137]
7.5 - 5.5 Fragen zu Kapitel 5 [Seite 138]
8 - 6 Aufbau einer MS SQL Server 2005-Datenbank [Seite 140]
8.1 - 6.1 Die Speicherverwaltung des MS SQL Servers [Seite 140]
8.2 - 6.2 Dateien einer MS SQL Server-Datenbank [Seite 143]
8.3 - 6.3 MS SQL Server-Datenbanken erstellen und ändern [Seite 149]
8.3.1 - 6.3.1 Eine MS SQL Server-Datenbank erstellen [Seite 149]
8.3.2 - 6.3.2 Eine MS SQL Server-Datenbank verkleinern [Seite 155]
8.3.3 - 6.3.3 Eine MS SQL Server-Datenbank umbenennen oder löschen [Seite 158]
8.3.4 - 6.3.4 Eine MS SQL Server-Datenbank auf einen anderen Server bringen [Seite 160]
8.4 - 6.4 Datenbankoptionen [Seite 164]
8.5 - 6.5 Zustand der Datenbank überprüfen [Seite 173]
8.6 - 6.6 Fragen zu Kapitel 6 [Seite 176]
9 - 7 Verwaltung der Datenbankobjekte [Seite 180]
9.1 - 7.1 Tabellen mit ihren Beziehungen [Seite 180]
9.1.1 - 7.1.1 Beziehungen zwischen Primär- und Fremdschlüssel [Seite 181]
9.1.2 - 7.1.2 Die Datentypen einer MS SQL Server-Tabelle [Seite 184]
9.1.3 - 7.1.3 Eine Tabelle mit dem Tabellen-Designer anlegen [Seite 187]
9.1.4 - 7.1.4 Die SQL-Anweisung "CREATE TABLE" [Seite 191]
9.1.5 - 7.1.5 Eine Tabelle oder einen Index aufteilen [Seite 197]
9.1.6 - 7.1.6 Daten in eine Tabelle einfügen [Seite 199]
9.2 - 7.2 Datenbankdiagramme [Seite 201]
9.3 - 7.3 Sichten [Seite 204]
9.4 - 7.4 Gespeicherte Prozeduren [Seite 208]
9.5 - 7.5 Der Service Broker und seine Objekte [Seite 210]
9.6 - 7.6 SQL-Skripte generieren und Abhängigkeiten [Seite 214]
9.7 - 7.7 Fragen zu Kapitel 7 [Seite 217]
10 - 8 Indizes erstellen und optimieren [Seite 220]
10.1 - 8.1 Der Aufbau einer Indexliste [Seite 220]
10.1.1 - 8.1.1 Vor- und Nachteile von Indizes [Seite 222]
10.1.2 - 8.1.2 Gruppierte und nichtgruppierte Indizes [Seite 225]
10.2 - 8.2 Einen Index erstellen [Seite 227]
10.3 - 8.3 Indizes optimieren [Seite 231]
10.3.1 - 8.3.1 Indizes neu aufbauen [Seite 232]
10.3.2 - 8.3.2 Der Datenbankmodul-Optimierungsratgeber [Seite 235]
10.4 - 8.4 Fragen zu Kapitel 8 [Seite 237]
11 - 9 Im- und Export von Daten und Objekten [Seite 240]
11.1 - 9.1 Der Import-/Export-Assistent [Seite 240]
11.2 - 9.2 Die SQL Server Integration Services [Seite 246]
11.3 - 9.3 Daten aus einer Textdatei importieren [Seite 270]
11.3.1 - 9.3.1 Das zeilenbasierte Programm Bcp [Seite 270]
11.3.2 - 9.3.2 Die Transact-SQL-Anweisung "BULK INSERT" [Seite 274]
11.4 - 9.4 Fragen zu Kapitel 9 [Seite 275]
12 - 10 Sichern und Wiederherstellen von Daten [Seite 278]
12.1 - 10.1 Einige Grundüberlegungen zur Datensicherung [Seite 278]
12.2 - 10.2 Sichern von Daten [Seite 282]
12.2.1 - 10.2.1 Verschiedene Arten der Sicherung [Seite 282]
12.2.2 - 10.2.2 Ein Sicherungsmedium definieren [Seite 286]
12.2.3 - 10.2.3 Mithilfe des SQL Server Management Studios archivieren [Seite 288]
12.2.4 - 10.2.4 Die Transact-SQL-Anweisung "BACKUP" [Seite 290]
12.2.5 - 10.2.5 Sichern unter Einsatz des massenprotokollierten Wiederherstellungsmodells [Seite 292]
12.3 - 10.3 Wiederherstellen von Daten [Seite 295]
12.3.1 - 10.3.1 Wiederherstellung im SQL Server Management Studio [Seite 299]
12.3.2 - 10.3.2 Die Transact-SQL-Anweisung "RESTORE" [Seite 301]
12.3.3 - 10.4 Fragen zu Kapitel 10 [Seite 304]
13 - 11 Zugriff auf den Server und auf die Datenbanken überwachen [Seite 308]
13.1 - 11.1 Auditing [Seite 308]
13.1.1 - 11.1.1 Die Überwachungsebene festlegen [Seite 308]
13.1.2 - 11.1.2 Anmeldungen mit dem SQL Server-Profiler überwachen [Seite 311]
13.2 - 11.2 Authentifizierung [Seite 312]
13.3 - 11.3 Autorisierung [Seite 324]
13.4 - 11.4 Rollen [Seite 329]
13.4.1 - 11.4.1 Feste Server-Rollen [Seite 329]
13.4.2 - 11.4.2 Datenbankrollen [Seite 331]
13.5 - 11.5 Sicherheitserweiterungen [Seite 336]
13.5.1 - 11.5.1 Das Schema [Seite 336]
13.5.2 - 11.5.2 Der Ausführungskontext von Modulen [Seite 340]
13.6 - 11.6 Vergabe der Berechtigungen [Seite 341]
13.7 - 11.7 Verschlüsselung der Daten [Seite 352]
13.8 - 11.8 Fragen zu Kapitel 11 [Seite 358]
14 - 12 MS SQL Server-Agent mit seinen Aufträgen und Warnungen [Seite 362]
14.1 - 12.1 Der MS SQL Server-Agent [Seite 362]
14.2 - 12.2 Operatoren für die Benachrichtigung definieren [Seite 364]
14.3 - 12.3 Aufträge erstellen und verwalten [Seite 366]
14.4 - 12.4 Warnungen anlegen [Seite 376]
14.4.1 - 12.4.1 Standard- und benutzerdefinierte Meldungen [Seite 376]
14.4.2 - 12.4.2 Eine Ereigniswarnung erstellen [Seite 378]
14.4.3 - 12.4.3 Eine Leistungsstatus-Warnung anlegen [Seite 380]
14.5 - 12.5 Fragen zu Kapitel 12 [Seite 383]
15 - 13 Performance des MS SQL Servers 2005 überwachen und verbessern [Seite 386]
15.1 - 13.1 Checklisten für eine gute Performance [Seite 386]
15.2 - 13.2 Das Sperrkonzept des MS SQL Servers [Seite 388]
15.3 - 13.3 Das SQL Server Management Studio [Seite 403]
15.3.1 - 13.3.1 Ausführungspläne und statistische Daten anzeigen [Seite 403]
15.3.2 - 13.3.2 Fragmentierungsinformationen anzeigen [Seite 410]
15.3.3 - 13.3.3 Der Aktivitätsmonitor [Seite 412]
15.4 - 13.4 Der SQL Server-Profiler [Seite 414]
15.4.1 - 13.4.1 Ablaufverfolgungsvorlagen und Ablaufverfolgungen [Seite 414]
15.4.2 - 13.4.2 Ablaufverfolgungen per Skript erstellen [Seite 422]
15.5 - 13.5 Weitere Möglichkeiten der Überwachung [Seite 427]
15.6 - 13.6 Den Windows-Systemmonitor verwenden [Seite 429]
15.7 - 13.7 Fragen zu Kapitel 13 [Seite 433]
16 - 14 Daten duplizieren [Seite 436]
16.1 - 14.1 Datenbankspiegelung [Seite 436]
16.2 - 14.2 Datenreplikation [Seite 439]
16.2.1 - 14.2.1 Einige Grundbegriffe der Replikation [Seite 440]
16.2.2 - 14.2.2 Eine Replikation erstellen [Seite 446]
16.2.3 - 14.2.3 Interessantes zur Merge-Replikation [Seite 454]
16.3 - 14.3 Weitere Möglichkeiten der Datenduplizierung [Seite 456]
16.3.1 - 14.3.1 Failover-Clusterunterstützung [Seite 456]
16.3.2 - 14.3.2 Protokollversand ("Log Shipping") [Seite 459]
16.3.3 - 14.3.3 Datenbank-Snapshot [Seite 461]
16.4 - 14.4 Fragen zu Kapitel 14 [Seite 462]
17 - 15 Anhang [Seite 466]
17.1 - 15.1 Checklisten für den Datenbankadministrator [Seite 466]
17.2 - 15.2 Zehn Schritte, um den SQL Server sicher zu [Seite 467]
17.3 - 15.3 Liste aller Tipps im Buch [Seite 469]
17.4 - 15.4 Lösungen zu den Fragen [Seite 471]
18 - 16 Index [Seite 474]
19 - Mehr eBooks bei www.ciando.com [Seite 0]
5 Systemaufbau (S. 109-110)
Dieses Kapitel beschreibt den internen Aufbau des MS SQL Servers. Dazu gehören sowohl die vier Systemdatenbanken als auch die Systemtabellen, die entweder nur in einer bestimmten Systemdatenbank oder in jeder MS SQL Server-Datenbank existieren. Zu Beginn wird auf die Vorteile und den Aufbau eines Client-Server-Systems, wie es der MS SQL Server ist, eingegangen.
5.1 Client-Server-System
Ein Client ist ein Rechner, der Zugang zu Ressourcen besitzt, die sich irgendwo im Netzwerk befinden. Ein Server hingegen ist eine Maschine, die zum Beispiel über riesige Festplattenkapazitäten verfügt, um Daten zu sammeln. Kurz gesagt, kann ein Client als Anwender von Ressourcen und ein Server als Zulieferer von Ressourcen bezeichnet werden. Beide ergänzen sich somit. Mit dem Begriff Ressourcen kann sowohl die Hardware als auch die Software gemeint sein.
Um ein Client-Server-System zu erklären, ist es am besten, die Unterschiede zwischen einem Dateiserver- und einem Client-Server-System und die jeweiligen Vorteile zu beschreiben.
Unterschiede zwischen einem Dateiserver- und einem Client-Server-System
Der größte Unterschied zwischen einem Dateiserver- und einem Client-Server-Prozess besteht darin, an welchem Ort die wirklichen Datenänderungen durchgeführt werden.
Beim Einsatz eines Dateiserversystems läuft auf jedem PC der Anwender ein eigenes Datenbanksystem ab. Bei Access ist dies die MS Jet-Engine. Dies bedeutet auch, dass bei der Ausführung einer Abfrage erst alle Datensätze aus der Daten-Datenbank über das Netz auf den Anwender-PC gebracht werden, da hier die Abfrage stattfindet. Anschließend sendet die MS Jet-Engine die modifizierten Daten über das Netzwerk zurück. Bei einem Client-Server-System werden hingegen die Daten nicht nur auf einem Datenbankserver abgelegt, sondern der Server liefert alle Funktionen zur Datenverwaltung für die Anwendungen. Nur der Server aktualisiert die physikalische Datei. Jeder Anwender, der mit Access arbeitet, sendet Anfragen an den Server und bekommt Daten vom Server zurück. Dabei handelt es sich nicht um alle Datensätze einer Tabelle, sondern nur um die Daten, die das Ergebnis der Abfrage darstellen. Dadurch müssen viel weniger Bytes über das Netz übertragen werden, sodass das Netz entsprechend geringer belastet wird. Bei einem Client-Server-System ist es die Aufgabe des Servers, die Daten auszuwerten und zu verwalten. Der Client hingegen kümmert sich um die Aufbereitung der Daten, die er als Ergebnis vom Server zurückgeliefert bekommt.
Wenn zum Beispiel eine Anwendung, die mit einem Dateiserver arbeitet, eine Liste mit den Namen aller Vertriebsmitarbeiter in München anzeigen soll, muss die ganze Mitarbeiterdatei abgerufen werden. Bei einem Client-Server-Betrieb wird nur der folgende Befehl an den SQL-Server gesendet: