Daniel Caesar ist seit 20 Jahren selbstständig als Berater, Entwickler und Trainer tätig. Er betreut mit seiner Firma sqlXpert gemeinsam mit seinem Partner Michael Friebel zahlreiche Projekte im deutschsprachigen Raum. Als zertifizierter Microsoft-Trainer (MCT), Spezialist in den Bereichen Microsoft SQL Server, .NET und SharePoint gibt er im deutschsprachigen Raum Seminare, hält Workshops und unterstützt viele Kunden in Projekten. Sein Fachwissen als Entwickler und im administrativen Bereich hat er sich über viele Jahre in Projekten, Trainings und Zertifizierungsprogrammen angeeignet. So ist er unter anderem MCP, MCTS, MCITP und Microsoft Certified Trainer für den SQL Server, SharePoint und .NET-Technologien seit mehreren Versionen.
Vorwort ... 25
1. Die Versionsgeschichte von SQL Server ... 29
1.1 ... Entwicklung bis Microsoft SQL Server 2005 ... 30
1.2 ... Von Microsoft SQL Server 2008 zu SQL Server 2014 ... 32
1.3 ... SQL Server 2016 -- wichtige Neuerungen im Überblick ... 40
1.4 ... SQL Server 2017 -- wichtige Neuerungen im Überblick ... 43
1.5 ... SQL Server 2019 -- Aussichten auf die Neuerungen im Überblick ... 48
2. Zukunftssicherheit, Stabilität und Performance im Enterprise-Bereich ... 65
2.1 ... Kapazitätsplanung von Prozessor, Speicher und I/O ... 65
2.2 ... Erfassen von Leistungs- und Baseline-Daten ... 66
2.3 ... Sequenzieller und Random I/O ... 68
2.4 ... Dimensionierung des E/A-Subsystems ... 69
2.5 ... RAID und SAN -- Konfiguration ... 70
2.6 ... SQL Server und virtuelle Umgebungen -- was ist zu beachten? ... 75
2.7 ... Ausblick auf zukünftige Technologien -- Storage im Netz ... 76
3. Die SQL-Server-Editionen im Überblick ... 79
3.1 ... Standard Edition ... 79
3.2 ... Business Intelligence Edition ... 80
3.3 ... Enterprise Edition ... 80
3.4 ... Parallel Data Warehouse und Data Warehouse Fast Track Edition ... 80
3.5 ... Spezielle Editionen ... 81
3.6 ... Microsoft Azure SQL-Datenbank ... 84
3.7 ... Zusammenfassung ... 88
4. Installation von SQL Server und Aktualisierung auf neue Versionen ... 89
4.1 ... Überlegungen zur Installation ... 90
4.2 ... Vorbereitung -- Was Sie vor der Installation erledigen sollten ... 94
4.3 ... Die vollständige Installation ... 95
4.4 ... Durchführen einer unbeaufsichtigten Installation ... 120
4.5 ... Installation einer Instanz unter Linux ... 127
4.6 ... Installation einer Instanz in der Cloud ... 133
5. Konfigurieren von SQL Server ... 135
5.1 ... Der SQL Server-Konfigurations-Manager ... 135
5.2 ... Die SQL-Server-Protokolle ... 138
5.3 ... SQL-Server-Startparameter ... 145
5.4 ... 'sqlcmd' -- das Tool für die Kommandozeile ... 148
5.5 ... Die Konfiguration der Instanz ... 150
5.6 ... Konfigurieren von SQL Server mit der PowerShell ... 156
5.7 ... SQL-Server-Agent-Grundkonfiguration ... 158
5.8 ... Konfiguration von SQL Server mithilfe der Richtlinienverwaltung (policy management) ... 160
5.9 ... Hilfsprogramm-Kontrollpunkte (Utility Control Point, UCP) ... 166
6. Die SQL-Server-Systemdatenbanken im Überblick ... 181
6.1 ... Aufbau und Funktionsweise von SQL-Server-Systemdatenbanken ... 182
6.2 ... Verschieben (Move) von Systemdatenbanken ... 184
6.3 ... Neuerstellen von Systemdatenbanken ... 187
6.4 ... Konfigurieren von Systemdatenbanken ... 190
7. Grundlegendes Know-how für Administratoren und Entwickler ... 195
7.1 ... SQL Server verwalten -- SQL Server Management Studio (SSMS) ... 195
7.2 ... Dynamische Verwaltungssichten (Dynamic Management Views, DMV), Katalogsichten ... 209
7.3 ... Datenbanken anlegen ... 215
7.4 ... T-SQL -- Die wichtigsten Befehle für den Administrator ... 222
7.5 ... Views -- Daten aus anderen Perspektiven ... 225
7.6 ... Benutzerdefinierte Funktionen ... 227
7.7 ... Gespeicherte Prozeduren ... 229
7.8 ... Wichtige gespeicherte Prozeduren ... 235
7.9 ... Trigger ... 239
7.10 ... Interessante T-SQL-Neuerungen für Entwickler ... 250
7.11 ... SQL Server 2014 -- T-SQL Enhancements ... 250
7.12 ... SQL Server 2016/2017 -- T-SQL Enhancements ... 250
7.13 ... SQL Server 2019 -- T-SQL Enhancements ... 253
7.14 ... Dynamische Datenmaskierung (Dynamic Data Masking, DDM) ... 253
7.15 ... UTF-8-Unterstützung ab SQL Server 2019 ... 267
8. PowerShell ... 269
8.1 ... Warum PowerShell? ... 269
8.2 ... Was bietet PowerShell? ... 270
8.3 ... Wie wird PowerShell installiert und aufgerufen? ... 271
8.4 ... Beispiel: Anzeigen der Instanzen von SQL Server in HTML ... 276
8.5 ... DBATOOLS -- PowerShell-Skripte für den Administrator ... 277
8.6 ... SQLWATCH -- ein Open-Source-Monitoring-Projekt ... 277
9. Backup und Restore ... 279
9.1 ... Sicherungsverfahren ... 279
9.2 ... Wiederherstellungsmodelle (Recovery Model): Ein Überblick über die Backup-Möglichkeiten ... 281
9.3 ... Sicherung von Dateigruppen ... 287
9.4 ... Systemdatenbanken richtig sichern und wiederherstellen ... 287
9.5 ... Datenbank-Snapshots: Datenbankzustände konservieren und wiederherstellen ... 287
9.6 ... Backup-Strategie ... 292
9.7 ... Medien ... 295
9.8 ... Workshops: Datenbanken mit verschiedenen Methoden richtig sichern ... 299
10. SQL-Server-Sicherheit ... 321
10.1 ... Das SQL-Server-Authentifizierungskonzept ... 321
10.2 ... Serverrollen ... 330
10.3 ... Authentifizierungsstufe 'Datenbank' -- Datenbankberechtigungen ... 337
10.4 ... Eigenständige Datenbanken ... 349
10.5 ... Berechtigungen auf allen Ebenen ... 356
10.6 ... Schemas ... 374
10.7 ... Datenverschlüsselung mit Zertifikaten und Schlüsseln ... 378
10.8 ... Verbindungsserver/Delegation (Linked Server) ... 394
10.9 ... Eine Einführung in SQL-Server-Container ... 400
11. Automatisieren von administrativen Aufgaben ... 405
11.1 ... Der SQL Server Agent ... 406
11.2 ... Erstellen von Aufträgen und Ausführen von SSIS-Paketen ... 406
11.3 ... Wartungspläne (Maintenance Plans) und T-SQL-Skripte ... 414
11.4 ... Konfigurieren des SQL Server Agents ... 424
11.5 ... Was sind Proxy-Konten, und welche Bedeutung kommt ihnen zu? ... 430
11.6 ... Automatische Optimierung (automatic tuning options) ... 430
11.7 ... Machine Learning Services ... 432
12. Einrichten von Warnungen und Benachrichtigungen ... 433
12.1 ... Konfigurieren von Datenbank-E-Mail ... 433
12.2 ... Einrichten von Warnungen ... 447
12.3 ... Anlegen von Operatoren ... 452
12.4 ... Warnungen zu Leistungsstatus, Fehlernummern und WMI ... 455
13. Skalierbarkeit von SQL Server ... 457
13.1 ... Verteilen der SQL-Server-Dienste ... 458
13.2 ... SQL Server und NLB-Cluster ... 459
13.3 ... Skalierung der Analysis Services ... 462
13.4 ... Skalierbare freigegebene Datenbanken ... 463
13.5 ... Skalierbarkeit von Datenbanken mit Hilfe der Peer-to-Peer-Transaktionsreplikation ... 464
13.6 ... AlwaysOn -- nicht nur ein Thema für Hochverfügbarkeit ... 464
13.7 ... Service Broker -- Skalierung für Entwickler ... 465
13.8 ... Workshop -- SQL Server in der Cloud installieren ... 470
14. Verteilung von Daten -- Replikation ist kein Hexenwerk ... 487
14.1 ... Einführung in die Replikation ... 487
14.2 ... Die Rollenverteilung bei einer Replikation ... 492
14.3 ... Replikationsarten ... 493
15. Hochverfügbarkeitslösungen ... 517
15.1 ... Hochverfügbarkeit -- was ist das eigentlich genau? ... 518
15.2 ... Lastenausgleich durch Network Load Balancing (NLB) ... 519
15.3 ... Failover-Cluster ... 521
15.4 ... Clusterarten ... 525
15.5 ... Datenbankspiegelung ... 526
15.6 ... Protokollversand ... 535
15.7 ... Kombinieren von Lösungen für hohe Verfügbarkeit ... 537
15.8 ... AlwaysOn -- Mission Critical, die neue Hochverfügbarkeitslösung ... 539
15.9 ... SSIS und AlwaysOn ... 543
15.10 ... Workshop I: Einrichten einer Datenbankspiegelung ... 543
15.11 ... Workshop II: Einrichten des Protokollversands ... 554
15.12 ... Workshop III: Einrichten von AlwaysOn ... 562
16. Überwachen von SQL Server ... 581
16.1 ... Überwachen der SQL-Server-Aktivität mit SQL Server Monitor ... 581
16.2 ... Ablaufverfolgung von SQL Server mit dem Profiler ... 585
16.3 ... Erweiterte Ereignisse (Extended Events) ... 592
16.4 ... Die Windows-Leistungsüberwachung (Performance Monitor) ... 599
16.5 ... Synchronisation von Windows-Leistungsüberwachungs- und SQL-Server-Profiler-Dateien ... 603
16.6 ... SQLdiag ... 605
16.7 ... SQL-Server-Auditing ... 608
16.8 ... Konfigurieren des Datenauflisters (Data Collection) ... 617
17. Hilfreiche Tools von Drittherstellern ... 631
17.1 ... Monitoring ... 631
17.2 ... Backup ... 632
17.3 ... Analyse ... 633
17.4 ... DBA-Tätigkeiten ... 634
17.5 ... Die Onlinegemeinde ... 635
18. Problembehebung und Performance-Tuning ... 637
18.1 ... Richtiges Verwalten von Daten ... 637
18.2 ... Daten lesen und schreiben ... 639
18.3 ... Wie werden Abfragen ausgeführt? ... 641
18.4 ... Der Datenbankoptimierungsratgeber ... 646
18.5 ... Ressourcenkontrolle (Resource Governor) ... 667
18.6 ... Indizes: Wichtiges Mittel für eine gute Performance ... 673
18.7 ... Statistiken und Wartungspläne (maintenance plans) ... 683
18.8 ... Datenkomprimierung ... 685
18.9 ... Change Data Capture ... 688
18.10 ... Datenbankoperationen ... 692
18.11 ... Parallelitätsprobleme (Deadlocks) ... 700
18.12 ... Partitionierung -- wenn Tabellen sehr groß werden ... 704
18.13 ... In-Memory OLTP (Online Transaction Processing) ... 707
18.14 ... Zusammenfassung der Performancethemen ... 716
19. Applikations- und Multiserver-Verwaltung ... 719
19.1 ... Vorteile und Einsatz der Multiserver-Verwaltung ... 719
19.2 ... DAC -- Datenebenenanwendung (data-tier application) ... 727
19.3 ... Registrierte SQL Server und Servergruppen ... 734
19.4 ... Zentraler Verwaltungsserver (Central Management Server) ... 740
20. Weitere Komponenten für Entwickler und Anwender ... 745
20.1 ... Master Data Services ... 745
20.2 ... StreamInsight ... 749
20.3 ... Data Quality Services ... 756
20.4 ... Columnstore-Indizes (Columnstore Indexes) ... 760
21. ETL-Prozesse mit den Integration Services ... 763
21.1 ... Möglichkeiten zum Massenimport ... 764
21.2 ... Der Import/Export-Assistent ... 768
21.3 ... SSIS-Anwendungen: Erstellen von DTSX-Paketen mit den SQL Server Data Tools ... 772
21.4 ... Erstellen von Wartungsplänen mit den SQL Server Data Tools ... 803
22. Parallel Data Warehouse (PDW) ... 805
22.1 ... Grundlagen und Schlüsselmerkmale ... 805
22.2 ... Auch in Azure gibt es DWH-Lösungen ... 806
22.3 ... Symmetrisches Multiprocessing ... 807
22.4 ... Massive parallele Verarbeitung ... 807
22.5 ... Parallel Data Warehouse -- Architektur ... 809
22.6 ... Parallel Data Warehouse -- Knoten ... 811
22.7 ... Datenlayout -- PDW-Schemadesign ... 814
22.8 ... Verwaltung ... 816
23. Die Reporting Services ... 817
23.1 ... Neuerungen in den Reporting Services ... 817
23.2 ... Bereitstellung und Skalierung der Reporting Services ... 819
23.3 ... Installation und Konfiguration im einheitlichen Modus ... 822
23.4 ... Workshops ... 837
24. Analysis Services -- Datenanalyse für jedermann ... 863
24.1 ... Beispielszenario für ein Analysis-Services-Projekt ... 863
24.2 ... Was sind die SQL Server Analysis Services (SSAS)? ... 865
24.3 ... Microsoft Excel und Analysis Services ... 872
24.4 ... Das Sicherheitskonzept der Analysis Services ... 872
24.5 ... SQL Server -- PowerPivot und DAX ... 874
24.6 ... PolyBase ... 875
24.7 ... Machine Learning und R ... 877
25. Big Data -- Analysewerkzeuge für SQL Server ... 879
25.1 ... Daten und der Umgang damit ... 879
25.2 ... Was ist eigentlich Big Data? ... 879
25.3 ... Microsoft Big Data Cluster für SQL Server ... 880
25.4 ... Bereitstellung von Big Data Clusters für SQL Server ... 881
25.5 ... Fazit ... 881
Aussichten: Was bringt die Zukunft? ... 883
Anhang: Deutsch - Englisch/Englisch - Deutsch ... 887
Index ... 923
Mit dem Microsoft SQL Server verwalten Sie große Datenmengen sicher und effizient. Wie die Administration in Produktivumgebungen gelingt, zeigt Ihnen dieses Praxishandbuch. Ob es um die hybride Nutzung in der Cloud geht oder um die richtige Wartung, Backups & Replikation, Skalierbarkeit, Hochverfügbarkeit oder Monitoring: Hier finden Sie alle relevanten Themenbereiche erklärt. Anschauliche Workshops und praxisnahe Hinweise lassen sich direkt auf Ihre tägliche Arbeit einsetzen.
Aus dem Inhalt: