Inhalt | 6 |
Vorwort | 13 |
1 Einstieg in den MS SQL Server | 15 |
1.1 Kleiner Einstieg für neue Administratoren | 15 |
1.2 Wartungspläne helfen bei der Arbeit | 19 |
1.3 Von Access auf den MS SQL Server umsteigen | 23 |
1.3.1 Mit dem Upsizing-Assistenten von Access | 24 |
1.3.2 Mit dem Import-Assistenten vom MS SQL Server | 29 |
1.4 Von den Versionen 2000/2005 auf die Version 2008 aktualisieren | 31 |
1.4.1 Den Upgrade-Ratgeber verwenden | 31 |
1.4.2 Eine MS SQL Server-Instanz upgraden | 34 |
1.4.3 MS SQL Server-Datenbanken kopieren oder verschieben | 35 |
1.5 Neuigkeiten des MS SQL Servers 2008 und 2005 | 38 |
1.5.1 Neuerungen und Ergänzungen des MS SQL Servers 2008 | 38 |
1.5.2 Neuerungen und Ergänzungen des MS SQL Servers 2005 | 46 |
1.6 Die Editionen des MS SQL Servers | 55 |
1.7 Fragen zu Kapitel 1 | 55 |
2 SQL Server Express – der kostenlose MS SQL Server | 59 |
2.1 Voraussetzungen und Einschränkungen | 59 |
2.2 Das SQL Server Management Studio Express | 63 |
2.3 Verteilung der Datenbank an die Kunden | 68 |
2.3.1 Die Datenbank automatisch mit der SQL Server Express-Edition verbinden | 69 |
2.3.2 Das zeilenbasierte Programm SSEUTIL | 71 |
2.3.3 Problembeseitigung, wenn die Verbindung nicht funktioniert | 73 |
2.4 Fragen zu Kapitel 2 | 74 |
3 Installation und erste Schritte | 77 |
3.1 Durchführung der menügeführten Installation | 77 |
3.1.1 Die verschiedenen Einstellungen für die Installation | 77 |
3.1.2 Überprüfung einer erfolgreichen Installation | 87 |
3.1.3 Troubleshooting | 91 |
3.2 Unbeaufsichtigte Installation | 92 |
3.3 Arbeiten mit dem MS SQL Server | 94 |
3.3.1 MSSQLServer-Dienst und andere Dienste | 95 |
3.3.2 MS SQL Server starten und beenden | 96 |
3.3.3 MS SQL Server mit Angabe von Parametern starten | 99 |
3.3.4 Informationen zum MS SQL Server | 103 |
3.4 Fragen zu Kapitel 3 | 107 |
4 Wichtige Verwaltungstools des MSSQL Servers | 111 |
4.1 Dienste und Verwaltungstools des MS SQL Servers | 111 |
4.2 Der SQL Server-Konfigurations-Manager | 114 |
4.2.1 Dienste verwalten | 115 |
4.2.2 Netzwerkprotokolle verwalten | 117 |
4.3 Das SQL Server Management Studio | 120 |
4.3.1 Der Objekt-Explorer | 123 |
4.3.2 Registrierte Server | 128 |
4.3.3 Der Abfrage-Editor | 131 |
Unbenannt | 143 |
4.3.5 Berichte im SQL Server Management anzeigen | 147 |
4.3.6 SQL-Skripte generieren | 149 |
4.4 SQLCMD | 152 |
4.5 Fragen zu Kapitel 4 | 157 |
5 Der Aufbau des MS SQL Server-Systems | 161 |
5.1 Client-Server-System | 161 |
5.2 Systemdatenbanken | 165 |
5.3 Metadaten | 171 |
5.4 Systemprozeduren und -funktionen | 183 |
5.4.1 Systemprozeduren | 184 |
5.4.2 „DBCC“-Anweisungen | 192 |
5.4.3 Systemfunktionen | 195 |
5.5 Fragen zu Kapitel 5 | 198 |
6 Die Struktur einer MS SQL Server-Datenbank | 201 |
6.1 Die Speicherverwaltung des MS SQL Servers | 201 |
6.2 Dateien einer MS SQL Server-Datenbank | 204 |
6.3 MS SQL Server-Datenbanken erstellen und ändern | 212 |
6.3.1 Eine MS SQL Server-Datenbank erstellen | 212 |
6.3.2 Eine MS SQL Server-Datenbank verkleinern | 218 |
6.3.3 Eine MS SQL Server-Datenbank umbenennen oder löschen | 223 |
6.3.4 Eine MS SQL Server-Datenbank auf eine andere Instanzbringen | 225 |
6.4 Datenbankoptionen | 230 |
6.5 Zustand der Datenbank überprüfen | 239 |
6.6 Fragen zu Kapitel 6 | 242 |
7 Schemata, Tabellen, Sichten etc. | 247 |
7.1 Schemata | 247 |
7.2 Tabellen mit ihren Beziehungen | 252 |
7.2.1 Beziehungen zwischen Primär- und Fremdschlüssel | 252 |
7.2.2 Die Datentypen einer MS SQL Server-Tabelle | 256 |
7.2.3 Eine Tabelle mit dem Tabellen-Designer anlegen | 265 |
7.2.4 Die SQL-Anweisung „CREATE TABLE“ | 270 |
7.2.5 Eine Tabelle oder einen Index aufteilen | 276 |
7.2.6 Daten in eine Tabelle einfügen | 278 |
7.3 Datenbankdiagramme | 280 |
7.4 Sichten | 283 |
7.5 Gespeicherte Prozeduren | 287 |
7.6 Der Service Broker und seine Objekte | 289 |
7.7 Fragen zu Kapitel 7 | 296 |
8 Indizes verstehen, anlegen undoptimieren | 301 |
8.1 Der Aufbau einer Indexliste | 301 |
8.1.1 Vor- und Nachteile von Indizes | 303 |
8.1.2 Gruppierte und nichtgruppierte Indizes | 307 |
8.2 Einen Index erstellen | 309 |
8.3 Indizes und Heaps optimieren | 314 |
8.3.1 Indizes neu aufbauen | 315 |
8.3.2 Heap-Tabellen neu aufbauen | 317 |
8.3.3 Der Datenbankoptimierungsratgeber | 319 |
8.4 Fragen zu Kapitel 8 | 321 |
9 Datenimport und -export | 325 |
9.1 Der Import-/Export-Assistent | 325 |
9.2 Die SQL Server Integration Services | 332 |
9.2.1 Der Aufbau eines SSIS-Pakets | 333 |
9.2.2 Der SSIS-Designer und andere Pogramme für SSIS | 335 |
9.2.3 Aufgaben eines SSIS-Pakets | 345 |
9.2.4 Datenquellen und Datenziele | 348 |
9.2.5 SSIS-Pakete konfigurieren | 349 |
9.2.6 Daten transformieren | 352 |
9.2.7 Der Integration-Services-Dienst | 355 |
9.3 Daten aus einer Textdatei importieren | 360 |
9.3.1 Das zeilenbasierte Programm Bcp | 360 |
9.3.2 Die Transact-SQL-Anweisung „BULK INSERT“ | 365 |
9.4 Fragen zu Kapitel 9 | 366 |
10 Datensicherung und Datenwiederherstellung | 369 |
10.1 Einige Grundüberlegungen zur Datensicherung | 369 |
10.2 Sichern von Daten | 374 |
10.2.1 Verschiedene Arten der Sicherung | 374 |
10.2.2 Ein Sicherungsmedium definieren | 378 |
10.2.3 Mithilfe des SQL Server Management Studios sichern | 380 |
10.2.4 Die Transact-SQL-Anweisung „BACKUP“ | 382 |
10.2.5 Die Sicherung komprimieren | 386 |
10.2.6 Sichern unter Einsatz des massenprotokollierten Wiederherstellungsmodells | 388 |
10.3 Wiederherstellen von Daten | 391 |
10.3.1 Wiederherstellung im SQL Server Management Studio | 395 |
10.3.2 Die Transact-SQL-Anweisung „RESTORE“ | 397 |
10.3.3 Die Online-Wiederherstellung | 401 |
10.3.4 Die Teilwiederherstellung | 403 |
10.4 Fragen zu Kapitel 10 | 405 |
11 Logins, Benutzer und Rechte | 409 |
11.1 Authentifizierung | 409 |
11.1.1 Die verschiedenen Authentifizierungsmöglichkeiten | 409 |
11.1.2 Das spezielle Administratorkonto „sa“ | 412 |
11.1.3 Bestehende Anmeldekonten verwalten und neue erstellen | 414 |
11.1.4 Tipps bei Problemen mit der Authentifizierung | 423 |
11.2 Autorisierung | 427 |
11.2.1 Neue Datenbankbenutzerkonten definieren | 427 |
11.2.2 Auf Datenbanken zugreifen | 430 |
11.3 Rollen | 433 |
11.3.1 Feste Serverrollen | 433 |
11.3.2 Datenbankrollen | 435 |
11.4 Vergabe der Berechtigungen | 439 |
11.4.1 Prinzipale und sicherungsfähige Elemente | 440 |
11.4.2 Welche Berechtigungen gibt es?Ab dem MS SQL Server 2005 können Berechtigungen | 442 |
11.4.3 Berechtigungen vergeben | 447 |
11.4.4 Besitzketten | 451 |
11.4.5 Der Ausführungskontext von Modulen | 452 |
11.5 Verschlüsselung der Daten | 454 |
11.5.1 Diensthauptschlüssel und Datenbank-Hauptschlüssel | 454 |
11.5.2 Symmetrische oder asymmetrische Verschlüsselung | 456 |
11.5.3 Beispiel zum Ver- und Entschlüsseln von Daten | 462 |
11.5.4 Die komplette Datenbank verschlüsseln | 465 |
11.6 Fragen zu Kapitel 11 | 470 |
12 Der MS SQL Server-Agent | 475 |
12.1 Der MS SQL Server-Agent-Dienst | 475 |
12.2 Einsatz von SMTP-basierter Datenbank-E-Mail | 477 |
12.3 Operatoren für die Benachrichtigung definieren | 479 |
12.4 Aufträge erstellen und verwalten | 481 |
12.5 Warnungen anlegen | 491 |
12.5.1 Standard- und benutzerdefinierte Meldungen | 491 |
12.5.2 Eine Ereigniswarnung erstellen | 493 |
12.5.3 Eine Leistungsstatus-Warnung anlegen | 495 |
12.6 Fragen zu Kapitel 12 | 498 |
13 Der SQL Server-Profiler | 501 |
13.1 Ablaufverfolgungsvorlagen und Ablaufverfolgungen | 501 |
13.1.1 Vordefinierte Ereigniskategorien und Vorlagen | 502 |
13.1.2 Eine neue Ablaufverfolgung erstellen | 505 |
13.1.3 Eine benutzerdefinierte Ablaufverfolgungsvorlage anlegen | 507 |
13.1.4 Der SQL Server-Profiler im Einsatz | 508 |
13.2 Ablaufverfolgungen per Skript erstellen | 516 |
13.3 Fragen zu Kapitel 13 | 521 |
14 Anmeldungen und Datenänderungen überwachen | 523 |
14.1 Auditing – Anmeldungen überwachen | 523 |
14.1.1 Die Überwachungsebene festlegen | 523 |
14.1.2 Anmeldungen mit dem SQL Server-Profiler überwachen | 526 |
14.1.3 Anmeldungen mit dem Service Broker überwachen | 527 |
14.2 Änderungen an Objekten überwachen | 533 |
14.2.1 Mit dem Service Broker und einer Ereignisbenachrichtigung | 533 |
14.2.2 Mit DDL-Trigger | 536 |
14.3 Änderungen an Daten mitschreiben | 537 |
14.3.1 Die Change Data Capture einrichten | 538 |
14.3.2 Änderungen an Datensätzen durchführen | 542 |
14.3.3 Auswertungen durchführen | 543 |
14.3.4 Weitere Systemprozeduren | 546 |
14.4 Überwachung durch Definition von Richtlinien | 548 |
14.4.1 Einführung mit Begriffserklärungen | 549 |
14.4.2 Vordefinierte Richtlinien verwenden | 552 |
14.4.3 Überwachung des Authentifizierungsmodus | 557 |
14.4.4 Erzwingen einer bestimmten Namensvergebung für Sichten | 561 |
14.4.5 Zusätzliches Wissenswertes zu den Richtlinien | 563 |
14.5 Fragen zu Kapitel 14 | 567 |
15 Sperrmechanismen beim MS SQL Server | 569 |
15.1 Transaktionsmodi und Sperren | 569 |
15.1.1 Transaktionsmodi | 569 |
15.1.2 Elementtypen von Sperren und Sperrmodi | 570 |
15.1.3 Anpassen von Sperren („Lock Escalation“) | 573 |
15.2 Isolationsstufen für Transaktionen | 576 |
15.2.1 Gemeinsame Sperren bei unterschiedlichen Isolationsstufen | 578 |
15.2.2 Der „Dirty Reads“-Effekt | 579 |
15.2.3 Nicht wiederholbare Lesevorgänge | 580 |
15.2.4 Phantomwerte | 581 |
15.2.5 Hinweise zum Einsatz der verschiedenen Isolationsstufen | 583 |
15.2.6 Sperrhinweise auf Tabellenebene | 584 |
15.2.7 Blockierungen und Deadlocks | 585 |
15.3 Fragen zu Kapitel 15 | 587 |
16 Performance des MS SQL Serversoptimieren | 589 |
16.1 Ausführungspläne lesen und verstehen | 589 |
16.2 Statistische Daten anzeigen | 592 |
16.2.1 Welche Daten und Abfragepläne befinden sich im MS SQLServer-Speicher? | 592 |
16.2.2 Statistiken für das Lesen und Schreiben von Bytes | 596 |
16.2.3 „SET“-Anweisungen zur Anzeige statistischer Informationen | 598 |
16.3 Fragmentierungsinformationen anzeigen | 606 |
16.4 Der Aktivitätsmonitor | 608 |
16.5 Weitere Möglichkeiten der Überwachung | 610 |
16.6 Den Windows-Systemmonitor verwenden | 614 |
16.7 Die Ressourcenkontrolle | 619 |
16.8 Fragen zu Kapitel 16 | 624 |
17 Datenduplizierung | 627 |
17.1 Datenbankspiegelung | 627 |
17.1.1 Die Betriebsmodi der Datenbankspiegelung | 629 |
17.1.2 Eine Datenbankspiegelung konfigurieren | 631 |
17.2 Datenreplikation | 635 |
17.2.1 Einige Grundbegriffe der Replikation | 635 |
17.2.2 Eine Replikation erstellen | 642 |
17.2.3 Peer-to-Peer-Replikationen | 651 |
17.2.4 Interessantes zur Merge-Replikation | 653 |
17.3 Weitere Möglichkeiten, Daten zu duplizieren | 655 |
17.3.1 Failover-Clusterunterstützung | 655 |
17.3.2 Protokollversand („Log Shipping“) | 658 |
17.3.3 Datenbank-Snapshot | 660 |
17.4 Fragen zu Kapitel 14 | 663 |
18 Glossar | 666 |
19 Anhang | 688 |
19.1 Checklisten für den Datenbankadministrator | 688 |
19.2 Zehn Schritte, um den SQL Server sicher zu machen | 694 |
19.3 Liste aller Tipps im Buch | 696 |
19.4 Lösungen zu den Fragen | 698 |
Register | 702 |