E-Book, Deutsch, 940 Seiten
Reihe: Rheinwerk Computing
Caesar / Friebel / Selent-Knips SQL Server 2019 für Administratoren
1. Auflage 2020
ISBN: 978-3-8362-6985-8
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Das umfassende Handbuch
E-Book, Deutsch, 940 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-8362-6985-8
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
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:
- Installation und Konfiguration
- Server-Sicherheit
- Backup und Recovery
- PowerShell und T-SQL
- Automatisierung
- Skalierbarkeit
- Replikation
- Hochverfügbarkeitslösungen
- Überwachung (Monitoring)
- Troubleshooting und Performance-Tuning
- Komponenten für Entwickler (Master Data Services, StreamInsight)
- Integration Services, Reporting Services, Analysis Services
- Praxisworkshops
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.
Autoren/Hrsg.
Weitere Infos & Material
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
1 Die Versionsgeschichte von SQL Server
In diesem Kapitel erfolgt zunächst ein kurzer geschichtlicher Überblick mit den wichtigsten Meilensteinen in der Geschichte von SQL Server. Anschließend stellen wir Ihnen die wichtigsten neuen Features der letzten Versionen von SQL Server vor. In den weiteren Kapiteln führen wir Sie dann in die Details dieser Features ein. Verschaffen Sie sich hier einen ersten Überblick.
SQL Server ist eine relationale Datenbank, die sich am Standard der aktuellen SQL-Version orientiert. SQL Server ging aus einer Zusammenarbeit der Firmen Microsoft und Sybase gegen Ende der 1980er Jahre hervor. Im Jahr 1989 kam die erste Version für OS/2 auf den Markt, ein von Microsoft und IBM entwickeltes Betriebssystem. Zu diesem Zeitpunkt war SQL Server kein eigenes Microsoft-Produkt, sondern entsprach dem Sybase SQL Server in der Version 4.0. Erst mit der Version 6.0 im Jahr 1995 kam eine eigenständige Weiterentwicklung von Microsoft auf den Markt, der die Version 6.5 im Jahr 1995 folgte, die jedoch von der Codebasis her immer noch dem Sybase-Produkt entsprach. Das änderte sich mit der Version 7.0. Jetzt hatte Microsoft eine neue, eigene Datenbank-Engine zuzüglich Codebasis entwickelt, mit der die Erfolgsgeschichte von Microsoft SQL Server begann.
Tabelle 1.1 zeigt die Meilensteine von SQL Server vom Zeitpunkt der Kooperation mit der Firma Sybase bis zum aktuellen Release von SQL Server.
Jahr | Version | Codename |
---|
1989 | Version 1 für OS/2 (16 Bit – OS/2) | Filipi |
1991 | Version 1.1 (16 Bit – OS/2) | Pietro |
1992 | Version 4.2A für OS/2 (16 Bit – OS/2) |
1993 | Version 4.2B (16 Bit – OS/2) |
1993 | Version 4.21a (WinNT) | SQLNT |
1995 | Version 6.0 | SQL95 |
1996 | Version 6.5 | Hydra |
1999 | Version 7.0/neue DB-Engine + Codebasis + OLAP Tools | Palato mania |
2000 | Version 8.0/SQL Server 2000 | Siloh |
2003 | Version 2000 64 Bit Edition | Liberty |
2005 | Version 9.0/SQL Server 2005 | Yukon |
2008 | Version 10.0/SQL Server 2008 | Katmai |
2010 | Azure SQL Database (initial release) | Cloud Database oder CloudDB |
2010 | Version 10.5/SQL Server 2008 R2 | Kilimanjaro (kurz KJ) |
2012 | Version 11.0.2100.60/SQL Server 2012 | Denali |
2014 | Version 12.0/SQL Server 2014 | Hekaton |
2016 | Version 13.0/SQL Server 2016 |
2017 | Version 14.0/SQL Server 2017 | vNext |
2019 | Version 15.0/SQL Server 2019 | Aris |
Tabelle 1.1 Historie der SQL-Server-Versionen
1.1 Entwicklung bis Microsoft SQL Server 2005
Seit der Version 2000 von Microsoft SQL Server sind standardmäßig eine Volltextsuche und OLAP-Funktionalitäten integriert. Diese OLAP-Funktionalitäten werden seit der Version 2005 SSAS – oder besser SQL Server Analysis Services – genannt. Zum Lieferumfang gehörte ein grafisches Tool für die Datenbankverwaltung und -programmierung. Der Enterprise Manager diente der vollständigen grafischen Verwaltung und der Query-Analyzer, der auch Funktionen zur Programmierung und Optimierung der Datenbank mitbringt, zur codebasierten Verwaltung.
Mit SQL Server 2005 wurden zahlreiche Neuerungen eingeführt. Diese betrafen sowohl Administratoren als auch Entwickler. Zu den Neuerungen für Administratoren zählten z.B. die Datenbankspiegelung, der Protokollversand, die Integration Services, Sicherheitserweiterungen und die neuen Services. Gerade die neuen Services – Integration Services (SSIS), Reporting Services (SSRS) und Analysis Services (SSAS) – waren es, die SQL Server einen erheblichen Mehrwert verliehen und somit dafür sorgten, dass SQL Server das am schnellsten wachsende Datenbankprodukt am Markt wurde.
In vielen Seminaren haben wir immer wieder erlebt, wie begeistert Administratoren und Entwickler von den neuen Möglichkeiten von SQL Server waren. Es bereitet uns immer wieder große Freude, zu sehen, wie begeistert die Seminarteilnehmer sind, sobald sie die Möglichkeiten von SQL Server entdecken oder darauf aufmerksam gemacht werden. Technologien und Neuerungen in einem Seminar zu vermitteln, ist sicherlich die eine Seite; diese dann jedoch im weiteren Verlauf gemeinsam mit den Unternehmen umzusetzen, ist immer wieder eine weitere sehr schöne Aufgabe. Es macht uns immer glücklich, wenn wir sehen, wie zufrieden Administratoren oder Entwickler sind, die neue Lösungen und Technologien einführen, um damit ihre Probleme beheben zu können. SQL Server 2005 war sicherlich ein Meilenstein in der Geschichte dieses Produktes.
Hinzu kam die Integration der Common Language Runtime (CLR), die...