Irene Bauder Microsoft SQL Server 2008 für Administratoren ISBN-10: 3-446-41393-6 ISBN-13: 978-3-446-41393-1 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41393-1 sowie im Buchhandel.
Vorwort...XI 1 Einstieg in den MS SQL Server... 1 1.1 Kleiner Einstieg für neue Administratoren... 1 1.2 Wartungspläne helfen bei der Arbeit... 5 1.3 Von Access auf den MS SQL Server umsteigen... 9 1.3.1 Mit dem Upsizing-Assistenten von Access... 10 1.3.2 Mit dem Import-Assistenten vom MS SQL Server... 15 1.4 Von den Versionen 2000/2005 auf die Version 2008 aktualisieren... 17 1.4.1 Den Upgrade-Ratgeber verwenden... 17 1.4.2 Eine MS SQL Server-Instanz upgraden... 20 1.4.3 MS SQL Server-Datenbanken kopieren oder verschieben... 21 1.5 Neuigkeiten des MS SQL Servers 2008 und 2005... 24 1.5.1 Neuerungen und Ergänzungen des MS SQL Servers 2008... 24 1.5.2 Neuerungen und Ergänzungen des MS SQL Servers 2005... 32 1.6 Die Editionen des MS SQL Servers... 41 1.7 Fragen zu Kapitel 1... 42 2 SQL Server Express der kostenlose MS SQL Server... 45 2.1 Voraussetzungen und Einschränkungen... 45 2.2 Das SQL Server Management Studio Express... 49 2.3 Verteilung der Datenbank an die Kunden... 54 2.3.1 Die Datenbank automatisch mit der SQL Server Express verbinden... 55 2.3.2 Das zeilenbasierte Programm SSEUTIL... 57 2.3.3 Problembeseitigung, wenn die Verbindung nicht funktioniert... 59 2.4 Fragen zu Kapitel 2... 60 3 Installation und erste Schritte... 63 3.1 Durchführung der menügeführten Installation... 63 3.1.1 Die verschiedenen Einstellungen für die Installation... 63 3.1.2 Überprüfung einer erfolgreichen Installation... 73 V
3.1.3 Troubleshooting...77 3.2 Unbeaufsichtigte Installation...78 3.3 Arbeiten mit dem MS SQL Server...80 3.3.1 MSSQLServer-Dienst und andere Dienste...81 3.3.2 MS SQL Server starten und beenden...82 3.3.3 MS SQL Server mit Angabe von Parametern starten...85 3.3.4 Informationen zum MS SQL Server...89 3.4 Fragen zu Kapitel 3...93 4 Wichtige Verwaltungstools des MS SQL Servers... 97 4.1 Dienste und Verwaltungstools des MS SQL Servers...97 4.2 Der SQL Server-Konfigurations-Manager...100 4.2.1 Dienste verwalten...101 4.2.2 Netzwerkprotokolle verwalten...103 4.3 Das SQL Server Management Studio...106 4.3.1 Der Objekt-Explorer...109 4.3.2 Registrierte Server...114 4.3.3 Der Abfrage-Editor...117 4.3.4 Wartungspläne erstellen...129 4.3.5 Berichte im SQL Server Management anzeigen...133 4.3.6 SQL-Skripte generieren...135 4.4 SQLCMD...138 4.5 Fragen zu Kapitel 4...143 5 Der Aufbau des MS SQL Server-Systems... 147 5.1 Client-Server-System...147 5.2 Systemdatenbanken...151 5.3 Metadaten...157 5.4 Systemprozeduren und -funktionen...169 5.4.1 Systemprozeduren...170 5.4.2 DBCC -Anweisungen...178 5.4.3 Systemfunktionen...181 5.5 Fragen zu Kapitel 5...184 6 Die Struktur einer MS SQL Server-Datenbank... 187 6.1 Die Speicherverwaltung des MS SQL Servers...187 6.2 Dateien einer MS SQL Server-Datenbank...190 6.3 MS SQL Server-Datenbanken erstellen und ändern...198 6.3.1 Eine MS SQL Server-Datenbank erstellen...198 6.3.2 Eine MS SQL Server-Datenbank verkleinern...204 6.3.3 Eine MS SQL Server-Datenbank umbenennen oder löschen...209 6.3.4 Eine MS SQL Server-Datenbank auf eine andere Instanz bringen...211 6.4 Datenbankoptionen...216 6.5 Zustand der Datenbank überprüfen...225 6.6 Fragen zu Kapitel 6...228 VI
7 Schemata, Tabellen, Sichten etc.... 233 7.1 Schemata... 233 7.2 Tabellen mit ihren Beziehungen... 238 7.2.1 Beziehungen zwischen Primär- und Fremdschlüssel... 238 7.2.2 Die Datentypen einer MS SQL Server-Tabelle... 242 7.2.3 Eine Tabelle mit dem Tabellen-Designer anlegen... 251 7.2.4 Die SQL-Anweisung CREATE TABLE... 256 7.2.5 Eine Tabelle oder einen Index aufteilen... 262 7.2.6 Daten in eine Tabelle einfügen... 264 7.3 Datenbankdiagramme... 266 7.4 Sichten... 269 7.5 Gespeicherte Prozeduren... 273 7.6 Der Service Broker und seine Objekte... 275 7.7 Fragen zu Kapitel 7... 283 8 Indizes verstehen, anlegen und optimieren... 287 8.1 Der Aufbau einer Indexliste... 287 8.1.1 Vor- und Nachteile von Indizes... 289 8.1.2 Gruppierte und nichtgruppierte Indizes... 293 8.2 Einen Index erstellen... 295 8.3 Indizes und Heaps optimieren... 300 8.3.1 Indizes neu aufbauen... 301 8.3.2 Heap-Tabellen neu aufbauen... 303 8.3.3 Der Datenbankoptimierungsratgeber... 305 8.4 Fragen zu Kapitel 8... 307 9 Datenimport und -export... 311 9.1 Der Import-/Export-Assistent... 311 9.2 Die SQL Server Integration Services... 318 9.2.1 Der Aufbau eines SSIS-Pakets... 319 9.2.2 Der SSIS-Designer und andere Pogramme für SSIS... 321 9.2.3 Aufgaben eines SSIS-Pakets... 331 9.2.4 Datenquellen und Datenziele... 334 9.2.5 SSIS-Pakete konfigurieren... 335 9.2.6 Daten transformieren... 338 9.2.7 Der Integration-Services-Dienst... 341 9.3 Daten aus einer Textdatei importieren... 346 9.3.1 Das zeilenbasierte Programm Bcp... 346 9.3.2 Die Transact-SQL-Anweisung BULK INSERT... 351 9.4 Fragen zu Kapitel 9... 352 10 Datensicherung und Datenwiederherstellung... 355 10.1 Einige Grundüberlegungen zur Datensicherung... 355 10.2 Sichern von Daten... 360 10.2.1 Verschiedene Arten der Sicherung... 360 10.2.2 Ein Sicherungsmedium definieren... 364 VII
10.2.3 Mithilfe des SQL Server Management Studios sichern...366 10.2.4 Die Transact-SQL-Anweisung BACKUP...368 10.2.5 Die Sicherung komprimieren...372 10.2.6 Sichern unter Einsatz des massenprotokollierten Wiederherstellungsmodells...374 10.3 Wiederherstellen von Daten...377 10.3.1 Wiederherstellung im SQL Server Management Studio...381 10.3.2 Die Transact-SQL-Anweisung RESTORE...383 10.3.3 Die Online-Wiederherstellung...387 10.3.4 Die Teilwiederherstellung...389 10.3.5 Die Master -Systemdatenbank wiederherstellen...391 10.4 Fragen zu Kapitel 10...391 11 Logins, Benutzer und Rechte... 395 11.1 Authentifizierung...395 11.1.1 Die verschiedenen Authentifizierungsmöglichkeiten...395 11.1.2 Das spezielle Administratorkonto sa...398 11.1.3 Bestehende Anmeldekonten verwalten und neue erstellen...400 11.1.4 Tipps bei Problemen mit der Authentifizierung...409 11.2 Autorisierung...413 11.2.1 Neue Datenbankbenutzerkonten definieren...413 11.2.2 Auf Datenbanken zugreifen...416 11.3 Rollen...419 11.3.1 Feste Serverrollen...419 11.3.2 Datenbankrollen...421 11.4 Vergabe der Berechtigungen...425 11.4.1 Prinzipale und sicherungsfähige Elemente...426 11.4.2 Welche Berechtigungen gibt es?...428 11.4.3 Berechtigungen vergeben...433 11.4.4 Besitzketten...437 11.4.5 Der Ausführungskontext von Modulen...438 11.5 Verschlüsselung der Daten...440 11.5.1 Diensthauptschlüssel und Datenbank-Hauptschlüssel...440 11.5.2 Symmetrische oder asymmetrische Verschlüsselung...442 11.5.3 Beispiel zum Ver- und Entschlüsseln von Daten...448 11.5.4 Die komplette Datenbank verschlüsseln...451 11.6 Fragen zu Kapitel 11...456 12 Der MS SQL Server-Agent... 461 12.1 Der MS SQL Server-Agent-Dienst...461 12.2 Einsatz von SMTP-basierten Datenbank-E-Mail...463 12.3 Operatoren für die Benachrichtigung definieren...465 12.4 Aufträge erstellen und verwalten...467 12.5 Warnungen anlegen...477 12.5.1 Standard- und benutzerdefinierte Meldungen...477 12.5.2 Eine Ereigniswarnung erstellen...479 VIII
12.5.3 Eine Leistungsstatus-Warnung anlegen... 481 12.6 Fragen zu Kapitel 12... 484 13 Der SQL Server-Profiler... 487 13.1 Ablaufverfolgungsvorlagen und Ablaufverfolgungen... 487 13.1.1 Vordefinierte Ereigniskategorien und Vorlagen... 488 13.1.2 Eine neue Ablaufverfolgung erstellen... 491 13.1.3 Eine benutzerdefinierte Ablaufverfolgungsvorlage anlegen... 493 13.1.4 Der SQL Server Profiler im Einsatz... 494 13.2 Ablaufverfolgungen per Skript erstellen... 502 13.3 Fragen zu Kapitel 13... 507 14 Anmeldungen und Datenänderungen überwachen... 509 14.1 Auditing Anmeldungen überwachen... 509 14.1.1 Die Überwachungsebene festlegen... 509 14.1.2 Anmeldungen mit dem SQL Server-Profiler überwachen... 512 14.1.3 Anmeldungen mit dem Service Broker überwachen... 513 14.2 Änderungen an Objekten überwachen... 519 14.2.1 Mit dem Service Broker und einer Ereignisbenachrichtigung... 519 14.2.2 Mit DDL-Trigger... 522 14.3 Änderungen an Daten mitschreiben... 523 14.3.1 Die Change Data Capture einrichten... 524 14.3.2 Änderungen an Datensätzen durchführen... 528 14.3.3 Auswertungen durchführen... 529 14.3.4 Weitere Systemprozeduren... 532 14.4 Überwachung durch Definition von Richtlinien... 534 14.4.1 Einführung mit Begriffserklärungen... 535 14.4.2 Vordefinierte Richtlinien verwenden... 538 14.4.3 Überwachung des Authentifizierungsmodus... 543 14.4.4 Erzwingen einer bestimmten Namensvergebung für Sichten... 547 14.4.5 Zusätzliches Wissenswertes zu den Richtlinien... 549 14.5 Fragen zu Kapitel 14... 553 15 Sperrmechanismen beim MS SQL Server... 555 15.1 Transaktionsmodi und Sperren... 555 15.1.1 Transaktionsmodi... 555 15.1.2 Elementtypen von Sperren und Sperrmodi... 556 15.1.3 Anpassen von Sperren ( Lock Escalation )... 559 15.2 Isolationsstufen für Transaktionen... 562 15.2.1 Gemeinsame Sperren bei unterschiedlichen Isolationsstufen... 564 15.2.2 Der Dirty Reads -Effekt... 565 15.2.3 Nicht wiederholbare Lesevorgänge... 566 15.2.4 Phantomwerte... 567 15.2.5 Hinweise zum Einsatz der verschiedenen Isolationsstufen... 569 15.2.6 Sperrhinweise auf Tabellenebene... 570 IX
15.2.7 Blockierungen und Deadlocks...571 15.3 Fragen zu Kapitel 15...573 16 Performance des MS SQL Servers optimieren... 575 16.1 Ausführungspläne lesen und verstehen...575 16.2 Statistische Daten anzeigen...578 16.2.1 Welche Daten und Abfragepläne befinden sich im MS SQL Server-Speicher?...578 16.2.2 Statistiken für das Lesen und Schreiben von Bytes...582 16.2.3 SET -Anweisungen zur Anzeige statistischer Informationen...584 16.3 Fragmentierungsinformationen anzeigen...592 16.4 Der Aktivitätsmonitor...594 16.5 Weitere Möglichkeiten der Überwachung...596 16.5.1 Diagnoseprogramm SQLDiag...596 16.5.2 Systemprozeduren und Verwaltungssichten...597 16.6 Den Windows-Systemmonitor verwenden...601 16.7 Die Ressourcenkontrolle...605 16.8 Fragen zu Kapitel 16...610 17 Datenduplizierung... 613 17.1 Datenbankspiegelung...613 17.1.1 Die Betriebsmodi der Datenbankspiegelung...615 17.1.2 Eine Datenbankspiegelung konfigurieren...617 17.2 Datenreplikation...621 17.2.1 Einige Grundbegriffe der Replikation...621 17.2.2 Eine Replikation erstellen...628 17.2.3 Peer-to-Peer-Replikationen...637 17.2.4 Interessantes zur Merge-Replikation...639 17.3 Weitere Möglichkeiten, Daten zu duplizieren...641 17.3.1 Failover-Clusterunterstützung...641 17.3.2 Protokollversand ( Log Shipping )...644 17.3.3 Datenbank-Snapshot...646 17.4 Fragen zu Kapitel 14...649 18 Glossar... 653 19 Anhang... 675 19.1 Checklisten für den Datenbankadministrator...675 19.2 Zehn Schritte, um den SQL Server sicher zu machen...681 19.3 Liste aller Tipps im Buch...683 19.4 Lösungen zu den Fragen...685 Register... 689 X