SQL Server 2017 - Der schnelle Einstieg

Klemens Konopasek

SQL Server 2017

Der schnelle Einstieg

2018

1047 Seiten

Format: PDF, ePUB, Online Lesen

E-Book: €  31,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446457256

 

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

 

© 2009-2018 ciando GmbH