Suchen und Finden
Service
SQL Server 2017 - Der schnelle Einstieg
Klemens Konopasek
Verlag Carl Hanser Fachbuchverlag, 2018
ISBN 9783446457256 , 1047 Seiten
Format PDF, ePUB, OL
Kopierschutz Wasserzeichen
Inhalt
6
Vorwort
14
1 Der SQL Server 2017 stellt sich vor
20
? 1.1 SQL Server – wer ist das?
21
1.1.1 Der SQL Server im Konzert der Datenbanksysteme
21
1.1.2 Entscheidungsszenarien für Datenbanksysteme
24
1.1.3 Komponenten einer Datenbankanwendung
26
1.1.4 SQL Server – das Gesamtkonzept
29
? 1.2 Versionen und Editionen des SQL Servers
31
? 1.3 SQL Server 2017 installieren
36
? 1.4 Datenbanken installieren und nutzen
60
? 1.5 Gratis: die Express Edition
66
? 1.6 SQL Server Feature Pack
68
2 Die grafischen Tools des SQL Server 2017
72
? 2.1 Die Tools im Überblick
72
? 2.2 Das Management Studio
75
? 2.3 Das Kommandozeilentool: SQLCMD
95
? 2.4 Der Konfigurations-Manager
97
? 2.5 Das SQL Server-Installationscenter
100
? 2.6 Der Profiler
101
? 2.7 Der Datenbankoptimierungsratgeber
102
? 2.8 Die SQL Server Data Tools
104
? 2.9 Der Import/Export-Assistent
108
? 2.10 Der SQL Server Migration Assistant
118
? 2.11 SQL Operations Studio
122
3 Eine neue Datenbank erstellen
124
? 3.1 Erstellen einer neuen Datenbank
124
3.1.1 Bestandteile einer Datenbank
124
3.1.2 Datenbank mit dem grafischen Tool anlegen
128
3.1.3 Datenbank über eine SQL-Anweisung erstellen
136
3.1.4 Datenbank mit Filestream ausstatten
137
? 3.2 Tabellen in der Datenbank erstellen
142
3.2.1 Tabellenfelder definieren
143
3.2.2 Spalteneigenscha@en
147
3.2.3 Constraints
150
3.2.4 Indizierung
160
3.2.5 Erste Daten erfassen
168
? 3.3 Datenbankdiagramme einsetzen
171
? 3.4 Richtlinien für Benennungsregeln
175
einsetzen
175
? 3.5 Was Sie noch wissen sollten ...
180
3.5.1 Tabellen in anderen Dateigruppen speichern
180
3.5.2 Tabellen direkt mit DDL-Anweisungen erstellen
182
3.5.3 Gefahren der grafischen Oberfläche
183
3.5.4 Berechnete Spalten integrieren
187
3.5.5 Objekte und Datenbanken skripten
190
? 3.6 Tabelle mit Filestream und FileTable
193
3.6.1 Tabelle mit Filestream erstellen
194
3.6.2 Objekte in einer FileTable speichern
200
? 3.7 Beispieldatenbank generieren
214
? 3.8 Speicheroptimierte Tabellen
216
3.8.1 Datenbank mit In-Memory-Filegroup erstellen
216
3.8.2 Speicheroptimierte Tabelle anlegen
218
3.8.3 Index für speicheroptimierte Tabellen
222
3.8.4 Speichernutzung beschränken
227
4 SQL – Zugriff auf Daten
230
? 4.1 Einsatz des Abfrage-Designers
232
4.1.1 Die Bereiche des Abfrage-Designers
232
4.1.2 Erstellen einer Abfrage
238
? 4.2 Sichten für den Datenzugriff gestalten
252
4.2.1 Gründe für den Einsatz von Sichten
253
4.2.2 Erstellen einer Sicht
254
4.2.3 Daten aus einer Sicht abrufen
256
? 4.3 SQL-Anweisungen verwenden
258
4.3.1 Data Query Language (DQL)
259
4.3.2 Data Manipulation Language (DML)
269
4.3.3 Die MERGE-Anweisung
270
4.3.4 Den Abfrage-Designer im Abfrageeditor einsetzen
275
? 4.4 Abfragen mit Geodaten
277
4.4.1 Typen im Geodatenmodell
278
4.4.2 Geodaten in Tabellen speichern und verwenden
284
4.4.3 Index für räumliche Daten
301
5 Transact-SQL – die Sprache zur Serverprogrammierung
306
? 5.1 Bestandteile und Funktionalität
308
von Transact-SQL
308
5.1.1 Variablen und Datentypen
308
5.1.2 Benutzerdefinierte Tabellentypen
316
5.1.3 Funktionen
318
5.1.4 Kontrollstrukturen
355
5.1.5 Cursor für Datenzugriffe einsetzen
372
? 5.2 Transaktionen gezielt steuern
378
5.2.1 Automatische Transaktionen
379
5.2.2 Explizite und implizite Transaktionen
380
5.2.3 Benannte Transaktionen
386
? 5.3 SET-Optionen verwenden
387
? 5.4 Fehlerbehandlung in den Code einbauen
395
? 5.5 Sequenzen
401
? 5.6 Paging mit OFFSET und FETCH
404
? 5.7 Window-Funktionen
405
6 Gespeicherte Prozeduren, Funktionen und Trigger
408
? 6.1 Gespeicherte Prozeduren programmieren
409
6.1.1 Aufbau einer gespeicherten Prozedur
411
6.1.2 Erzeugen einer gespeicherten Prozedur
412
6.1.3 Einfache gespeicherte Prozeduren
422
6.1.4 Gespeicherte Prozeduren mit Eingabeparametern
425
6.1.5 Ergebnisrückgabe von Prozeduren
428
6.1.6 Cursor in gespeicherten Prozeduren nutzen
439
6.1.7 Transaktionen in Prozeduren
447
6.1.8 Table-Valued Parameter einsetzen
452
6.1.9 Systemintern kompilierte gespeicherte Prozeduren
457
6.1.10 Gespeicherte Prozeduren aus Client-Anwendungen heraus
468
aufrufen
468
? 6.2 Mit Triggern automatisieren
483
6.2.1 DML-Trigger: Insert, Update, Delete
484
6.2.2 Triggerreihenfolge festlegen
504
6.2.3 INSTEAD OF-Trigger
506
6.2.4 Rekursive Trigger
509
6.2.5 Trigger löschen
521
6.2.6 Systemeigen kompilierte Trigger
522
6.2.7 DDL-Trigger
527
? 6.3 Benutzerdefinierte Funktionen implementieren
534
6.3.1 Skalarwertfunktionen
534
6.3.2 Inline-Funktionen
540
6.3.3 Tabellenwertfunktionen
542
6.3.4 Systemintern kompilierte benutzerdefinierte Funktionen
548
? 6.4 Debuggen
551
6.4.1 Voraussetzungen für das Debuggen
551
6.4.2 Debuggen einer gespeicherten Prozedur
553
6.4.3 Debuggen von Triggern
558
6.4.4 Debuggen von Funktionen
561
? 6.5 Praxistipps
562
6.5.1 Fehleranalyse mit ERROR_MESSAGE()
563
6.5.2 Fehler gezielt zur Ablaufsteuerung einsetzen
565
6.5.3 Fehlerprotokoll führen
568
6.5.4 Über Fehler benachrichtigen lassen
570
6.5.5 Automatisierte Importe mit BULK INSERT
574
7 SQL Server CLR-Integration
580
? 7.1 Mit im Boot: .NET Framework
581
7.1.1 Integration mit dem Visual Studio
583
? 7.2 CLR-Aktivierung
586
7.2.1 Code auf den Server bringen: Assembly
589
? 7.3 .NET User-Defined Functions
592
? 7.4 .NET Stored Procedures
600
7.4.1 Datenzugriff aus der CLR heraus
600
7.4.2 Prozeduren mit Werterückgabe
601
7.4.3 Zugriff auf externe Daten
608
? 7.5 .NET-Trigger
615
? 7.6 User-Defined Aggregates (UDA)
624
? 7.7 Externe Assemblys verwenden
631
? 7.8 CLR-Sicherheitseinstellungen
638
7.8.1 Assembly als vertrauenswürdig erklären
639
7.8.2 Assembly signieren
643
? 7.9 Verwalten des Servers mit SMO
651
? 7.10 Übrigens: Debuggen
657
7.10.1 Debuggen einer T-SQL Stored Procedure
658
7.10.2 Debuggen einer .NET-Stored Procedure
660
8 Data Tier Applications und SQL Server Data Tools
664
? 8.1 Datenebenenanwendungen
664
8.1.1 DAC über Management Studio erstellen
665
8.1.2 Eine DAC auf dem SQL Server bereitstellen
668
8.1.3 Aktualisieren einer DAC
670
8.1.4 Entfernen einer DAC
673
8.1.5 Von DACPAC zu BACPAC
673
8.1.6 Erstellen einer DAC mit dem Visual Studio
678
? 8.2 Die SQL Server Data Tools
679
8.2.1 Ein neues Datenbankprojekt erstellen
679
8.2.2 Datenbankobjekte erstellen
681
8.2.3 Datenbankprojekt bereitstellen
686
8.2.4 Schemavergleich
689
8.2.5 Datenbank in ein Datenbankprojekt importieren
694
8.2.6 Ersatz für das Management Studio?
697
? 9.1 Anfügen und Trennen von Datenbanken
700
9 Client-Server-Datenbank verwalten
700
Unknown
0
9.1.1 Trennen einer Datenbank
701
9.1.2 Anfügen einer Datenbank
704
9.1.3 Option „Automatisch schließen“
710
? 9.2 Datenbank sichern
711
9.2.1 Sicherungsvarianten
711
9.2.2 Sicherungsziele
713
9.2.3 Sicherung mit dem Management Studio
716
9.2.4 Sicherung über TRANSACT-SQL
722
9.2.5 Zeitgesteuerte Sicherung mit dem SQL Server-Agent
726
9.2.6 Zeitgesteuerte Sicherung mit der Express Edition
730
9.2.7 Datenbank wiederherstellen
734
9.2.8 Einsatz der Zeitachse beim Wiederherstellen
738
9.2.9 Wiederherstellung über Transact-SQL
743
9.2.10 Desaster Recovery
744
9.2.11 Recovery mit FILESTREAM
751
? 9.3 Datenänderungen protokollieren
754
9.3.1 Change Data Capture
754
9.3.2 Temporale Tabellen
760
? 9.4 Mit mehreren Instanzen arbeiten
786
9.4.1 Standardinstanzen und benannte Instanzen
787
9.4.2 Zugriff auf Instanzen steuern
789
10 Sicherheit und Zugriffsberechtigungen
794
? 10.1 Authentifizierungsmodi – Anmeldungen
794
und Benutzer
794
10.1.1 Windows-Authentifizierung
796
10.1.2 Gemischter Modus
797
10.1.3 Anmeldung und Benutzer
797
? 10.2 Berechtigungen
799
? 10.3 Rollen
800
10.3.1 Serverrollen
800
10.3.2 Datenbankrollen
803
10.3.3 Anwendungsrollen
804
? 10.4 Anmeldeinformationen (Credentials)
805
? 10.5 Schema
807
? 10.6 Verwaltung im Management Studio
809
10.6.1 Serveranmeldung hinzufügen
809
10.6.2 Schema anlegen
815
10.6.3 Datenbankbenutzer hinzufügen
815
10.6.4 Rollen in einer Datenbank anlegen
819
? 10.7 Berechtigungen vergeben
821
10.7.1 Berechtigungen auf Datenbankebene
821
10.7.2 Berechtigungen auf Serverebene
829
? 10.8 Lösungen mit T-SQL
830
10.8.1 Sicherheitsobjekte anlegen
831
10.8.2 Generische Skripte
837
? 10.9 Contained Databases
837
? 10.10 Administratorzugriff wiederherstellen
845
? 10.11 Indirekte Zugriffe verwalten
849
10.11.1 Datenzugriffe über Sichten
850
10.11.2 Sicherheit mit Prozeduren erhöhen
851
? 10.12 Sicherheit auf Zeilenebene
858
10.12.1 Bestandteile von Row Level Security (RLS)
859
10.12.2 Sicherheitsfunktion erstellen
862
10.12.3 Security Policy definieren
865
10.12.4 Ändern von Sicherheitsrichtlinien
868
? 10.13 Zugriff auf andere Server
871
10.13.1 SQL Server als Verbindungsserver
873
10.13.2 Verbindungsserver mit Fremdprodukten
880
? 10.14 Daten verschlüsseln
884
mit Always Encrypted
884
10.14.1 Voraussetzungen für Always Encrypted
885
10.14.2 Konfiguration von Always Encrypted
886
10.14.3 Vorhandene Daten verschlüsseln
893
10.14.4 Abfragen von verschlüsselten Daten
896
10.14.5 Erstellen von Tabellen mit verschlüsselten Spalten
900
10.14.6 Einfügen von Daten mit Verschlüsselung
903
10.14.7 Treibereinsatz am Client
906
? 11.1 Datenbank-E-Mail
910
11 Sicherheit und Funktionalitäten
910
Unknown
0
11.1.1 Einrichten von Datenbank-E-Mail
911
11.1.2 E-Mails aus der Anwendung heraus versenden
918
11.1.3 Varianten des E-Mail-Versands
920
11.1.4 Konfiguration über Systemprozeduren
927
11.1.5 Mailbenachrichtigung für Agent-Au@räge
933
? 11.2 Integration Services
941
11.2.1 Datenabgleich mit IS
942
11.2.2 Pakete ausführen und auf den Server bringen
965
11.2.3 SSIS-Projekte auf den Server bringen
967
12 SQL Server 2017 auf Linux
974
? 12.1 Installation des SQL Servers
976
? 12.2 Kommandozeilentools installieren
981
12.2.1 SQLCmd mit ODBC
981
12.2.2 mssql-cli
985
? 12.3 Server-Agent ergänzen
989
? 12.4 Integration Services
990
? 12.5 Serverdienst starten
991
? 12.6 Updates installieren
992
? 12.7 Weitere Konfiguration
994
? 12.8 Windows-Authentifizierung
999
? 12.9 Linux auch am Client:
1007
SQL Operations Studio
1007
Anhang
1012
? A.1 Die Tabellen der Datenbank WAWI
1012
Index
1024