Klemens Konopasek
SQL Server 2014
Der schnelle Einstieg
Inhalt
7
Vorwort
13
1 Der SQL Server 2014 stellt sich vor
17
1.1 SQL Server – wer ist das?
17
1.1.1 Der SQL Server im Konzert der Datenbanksysteme
17
1.1.2 Entscheidungsszenarien für Datenbanksysteme
20
1.1.3 Komponenten einer Datenbankanwendung
22
1.1.4 SQL Server – das Gesamtkonzept
25
1.2 Versionen und Editionen des SQL Servers
27
1.3 SQL Server 2014 installieren
31
1.4 Datenbanken installieren und nutzen
53
1.5 Gratis: die Express Edition
58
1.6 SQL Server Feature Pack
59
2 Die grafischen Tools des SQL Server 2014
61
2.1 Die Tools im Überblick
61
2.2 Das Management Studio
63
2.3 Das Kommandozeilentool: SQLCMD
79
2.4 Der Konfigurations-Manager
81
2.5 Das SQL Server-Installationscenter
83
2.6 Der Profiler
83
2.7 Der Datenbankoptimierungsratgeber
84
2.8 Die SQL Server Data Tools
86
2.9 Der Import/Export-Assistent
89
2.10 Der SQL Server Migration Assistant
97
3 Eine neue Datenbank erstellen
101
3.1 Erstellen einer neuen Datenbank
101
3.1.1 Bestandteile einer Datenbank
101
3.1.2 Datenbank mit dem grafischen Tool anlegen
105
3.1.3 Datenbank über eine SQL-Anweisung erstellen
112
3.1.4 Datenbank mit Filestream ausstatten
113
3.2 Tabellen in der Datenbank erstellen
118
3.2.1 Tabellenfelder definieren
119
3.2.2 Spalteneigenschaften
123
3.2.3 Constraints
126
3.2.4 Indizierung
135
3.2.5 Erste Daten erfassen
143
3.3 Datenbankdiagramme einsetzen
145
3.4 Richtlinien für Benennungsregeln einsetzen
149
3.5 Was Sie noch wissen sollten .....
154
3.5.1 Tabellen in anderen Dateigruppen speichern
154
3.5.2 Tabellen direkt mit DDL-Anweisungen erstellen
155
3.5.3 Gefahren der grafischen Oberfläche
157
3.5.4 Berechnete Spalten integrieren
160
3.5.5 Objekte und Datenbanken skripten
162
3.6 Tabelle mit Filestream und FileTable
166
3.6.1 Tabelle mit Filestream erstellen
166
3.6.2 Objekte in einer FileTable speichern
172
3.7 Beispieldatenbank generieren
186
3.8 Speicheroptimierte Tabellen
187
3.8.1 Datenbank mit In-Memory-Filegroup erstellen
187
3.8.2 Speicheroptimierte Tabelle anlegen
188
3.8.3 Speichernutzung beschränken
192
4 SQL – Zugriff auf Daten
195
4.1 Einsatz des Abfrage-Designers
196
4.1.1 Die Bereiche des Abfrage-Designers
197
4.1.2 Erstellen einer Abfrage
201
4.2 Sichten für den Datenzugriff gestalten
214
4.2.1 Gründe für den Einsatz von Sichten
214
4.2.2 Erstellen einer Sicht
215
4.2.3 Daten aus einer Sicht abrufen
217
4.3 SQL-Anweisungen verwenden
219
4.3.1 Data Query Language (DQL)
220
4.3.2 Data Manipulation Language (DML)
228
4.3.3 Die MERGE-Anweisung
229
4.3.4 Den Abfrage-Designer im Abfrageeditor einsetzen
233
4.4 Abfragen mit Geodaten
235
4.4.1 Typen im Geodatenmodell
236
4.4.2 Geodaten in Tabellen speichern und verwenden
242
4.4.3 Index für räumliche Daten
257
5 Transact-SQL – die Sprache zur Serverprogrammierung
261
5.1 Bestandteile und Funktionalität
5.1 Bestandteile und Funktionalität
263
263
5.1.1 Variablen und Datentypen
263
5.1.2 Benutzerdefinierte Tabellentypen
270
5.1.3 Funktionen
272
5.1.4 Kontrollstrukturen
292
5.1.5 Cursor für Datenzugriffe einsetzen
309
5.2 Transaktionen gezielt steuern
315
5.2.1 Automatische Transaktionen
315
5.2.2 Explizite und implizite Transaktionen
316
5.2.3 Benannte Transaktionen
322
5.3 SET-Optionen verwenden
323
5.4 Fehlerbehandlung in den Code einbauen
331
5.5 Sequenzen
337
5.6 Paging mit OFFSET und FETCH
339
5.7 Window-Funktionen
341
6 Gespeicherte Prozeduren, Funktionen und Trigger
343
6.1 Gespeicherte Prozeduren programmieren
344
6.1.1 Aufbau einer gespeicherten Prozedur
345
6.1.2 Erzeugen einer gespeicherten Prozedur
347
6.1.3 Einfache gespeicherte Prozeduren
355
6.1.4 Gespeicherte Prozeduren mit Eingabeparametern
357
6.1.5 Ergebnisrückgabe von Prozeduren
360
6.1.6 Cursor in gespeicherten Prozeduren nutzen
370
6.1.7 Transaktionen in Prozeduren
377
6.1.8 Table-Valued Parameter einsetzen
380
6.1.9 Systemintern kompilierte gespeicherte Prozeduren
384
6.1.1 Gespeicherte Prozeduren aus Client-Anwendungen heraus aufrufen
389
6.2 Mit Triggern automatisieren
403
6.2.1 DML-Trigger: Insert, Update, Delete
404
6.2.2 Trigger löschen
431
6.2.3 DDL-Trigger
431
6.3 Benutzerdefinierte Funktionen implementieren
438
6.3.1 Skalarwertfunktionen
438
6.3.2 Inline-Funktionen
444
6.3.3 Tabellenwertfunktionen
445
6.4 Debuggen
451
6.4.1 Voraussetzungen für das Debuggen
451
6.4.2 Debuggen einer gespeicherten Prozedur
453
6.4.3 Debuggen von Triggern
457
6.4.4 Debuggen von Funktionen
459
7 SQL Server CLR-Integration
461
7.1 Mit im Boot: .NET Framework
462
7.1.1 Integration mit dem Visual Studio
464
7.2 CLR-Aktivierung
467
7.2.1 Code auf den Server bringen: Assembly
468
7.3 .NET User-Defined Functions
471
7.4 .NET Stored Procedures
477
7.4.1 Datenzugriff aus der CLR heraus
477
7.4.2 Prozeduren mit Werterückgabe
478
7.4.3 Zugriff auf externe Daten
482
7.4.4 .NET-Trigger
486
7.5 User-Defined Aggregates (UDA)
492
7.6 Externe Assemblies verwenden
497
7.7 Verwalten des Servers mit SMO
502
7.8 Übrigens: Debuggen
506
7.8.1 Debuggen einer T-SQL Stored Procedure
507
7.8.2 Debuggen einer .NET Stored Procedure
508
8 Data Tier Applications und SQL Server Data Tools
511
8.1 Datenebenenanwendungen
511
8.1.1 DAC über Management Studio erstellen
512
8.1.2 Eine DAC auf dem SQL Server bereitstellen
514
8.1.3 Aktualisieren einer DAC
516
8.1.4 Entfernen einer DAC
518
8.1.5 Von DACPAC zu BACPAC
519
8.1.6 Erstellen einer DAC mit dem Visual Studio
524
8.2 Die SQL Server Data Tools
524
8.2.1 Ein neues Datenbankprojekt erstellen
525
8.2.2 Datenbankobjekte erstellen
527
8.2.3 Datenbankprojekt bereitstellen
530
8.2.4 Schemavergleich
534
8.2.5 Datenbank in ein Datenbankprojekt importieren
538
8.2.6 Ersatz für das Management Studio?
540
9 Client-Server-Datenbank verwalten
543
9.1 Anfügen und Trennen von Datenbanken
543
9.1.1 Trennen einer Datenbank
543
9.1.2 Anfügen einer Datenbank
546
9.1.3 Option Automatisch schließen
551
9.2 Datenbank sichern
552
9.2.1 Sicherungsvarianten
552
9.2.2 Sicherungsziele
553
9.2.3 Sicherung mit dem Management Studio
556
9.2.4 Sicherung über TRANSACT-SQL
561
9.2.5 Zeitgesteuerte Sicherung mit dem SQL Server-Agent
563
9.2.6 Zeitgesteuerte Sicherung mit der Express Edition
568
9.2.7 Datenbank wiederherstellen
571
9.2.8 Einsatz der Zeitachse beim Wiederherstellen
574
9.2.9 Wiederherstellung über Transact-SQL
579
9.2.10 Desaster Recovery
580
9.2.11 Recovery mit FILESTREAM
587
9.3 Datenänderungen protokollieren
589
9.3.1 Change Data Capture
589
9.4 Mit mehreren Instanzen arbeiten
595
9.4.1 Standardinstanzen und benannte Instanzen
595
9.4.2 Zugriff auf Instanzen steuern
597
10 Sicherheit und Zugriffsberechtigungen
601
10.1 Authentifizierungsmodi – Anmeldungen und Benutzer
601
10.1.1 Windows-Authentifizierung
603
10.1.2 Gemischter Modus
603
10.1.3 Anmeldung und Benutzer
604
10.2 Berechtigungen
605
10.3 Rollen
606
10.3.1 Serverrollen
606
10.3.2 Datenbankrollen
609
10.3.3 Anwendungsrollen
610
10.4 Anmeldeinformationen (Credentials)
610
10.5 Schema
612
10.6 Verwaltung im Management Studio
615
10.6.1 Serveranmeldung hinzufügen
615
10.6.2 Schema anlegen
620
10.6.3 Datenbankbenutzer hinzufügen
621
10.6.4 Rollen in einer Datenbank anlegen
624
10.7 Berechtigungen vergeben
626
10.7.1 Berechtigungen auf Datenbankebene
626
10.7.2 Berechtigungen auf Serverebene
632
10.8 Lösungen mit T-SQL
634
10.8.1 Sicherheitsobjekte anlegen
634
10.8.2 Generische Skripte
639
10.9 Contained Databases
640
10.10 Administratorzugriff wiederherstellen
646
10.11 Indirekte Zugriffe verwalten
649
10.11.1 Datenzugriffe über Sichten
649
10.11.2 Sicherheit mit Prozeduren erhöhen
651
10.12 Zugriff auf andere Server
657
10.12.1 SQL Server als Verbindungsserver
658
10.12.2 Verbindungsserver mit Fremdprodukten
665
11 Erweiterte Funktionalitäten
669
11.1 Datenbank-E-Mail
669
11.1.1 Einrichten von Datenbank-E-Mail
670
11.1.2 E-Mails aus der Anwendung heraus versenden
676
11.1.3 Varianten des E-Mail-Versands
678
11.1.4 Mailbenachrichtigung für Agent-Aufträge
684
11.2 Integration Services
689
11.2.1 Datenabgleich mit IS
690
11.2.2 Pakete ausführen und auf den Server bringen
709
11.2.3 SSIS-Projekte auf den Server bringen
711
11.3 PowerPivot
717
11.3.1 Was ist PowerPivot?
717
11.3.2 PowerPivot für Excel
718
Anhang
743
A.1 Die Tabellen der Datenbank WAWI
743
Index
751
© 2009-2024 ciando GmbH