Advanced TSQL Scripting

ID: 
13
Seminar-Level: 
Fortgeschritten
Seminar-Typ: 
Technisches Seminar
Dauer: 
4 Tag(e)
Zielgruppe: 
Data Warehouse Spezialisten, Datenbank-Administratoren, Datenbank-Entwickler, Entwickler
Beschreibung: 
Die Teilnehmer lernen, TSQL-Code zu entwickeln und Business-Logik in Scripten und Programmables wie Stored Procedures zu kapseln. Hierbei werden neben den Grundlagen der SQL-Programmierung auch viele Best Practices vermittelt.
Inhalt: 

Ausführen und Testen von SQL Code

  • Verwendung von SQLCMD.exe / Tipps & Tricks
  • Ausführen von SQL-Code im CMD-Modus
  • Ausführen von Scripts auf verschiedenen SQL-Servern
  • Zugriff auf verteilte Datenquellen
  • Testen von SQL-Code in Visual Studio
  • Ausführen von Shell-Commands

Variablen und temporäre Objekte

  • Variablen, temporäre Tabellen und temporäre Prozeduren
  • Lifetime und Scope
  • Anwendungsfälle und Entwurfsmuster: Joinback, Tally Tables, Rückführung deklarativer Anweisungen in prozeduralen Code etc.
  • Performance Issues

Sicherheit & Ausführungskontext

  • Überblick: Schema, Owner, Rollen etc.
  • Wechseln des Ausführungskontexts
  • Überblick: Verschlüsseln vonSessions, Objekten und Daten

Fehlerbehandlung

  • Best Practice: Generieren von Fehlern und Debug-Nachrichten
  • Best Practice: Stukturierte Ausnahmenbehandlung in SQL- und Anwendungs-Code
  • Tools & Best Practices: Monitoring & Logging von Events und Fehlern

Ablaufsteuerung, Transaktionen und Locks

  • Einführung in SQL-Transaktionen
  • Erweiterter Einsatz (Nested Transactions, Savepoint, Verschachteltung von Try-Catch und Transaktionen)
  • Überblick: Verteilte Transaktionen
  • Einführung in Isolation und Locking
  • Best Practice: Vermeiden von Locks und Deadlocks
  • Monitoring, Logging und Reaktion im Zusammenhang mit Locking Issues

Stored Procedures und Functions

  • Features von Stored Procedures und Funktionen: Parameter, Output, Return etc.
  • Aufruf von Stored Procedures im Client-Code
  • Best Practice: Rückgabe von Daten aus Stored Procedures
  • Übergabe und Rückgabe von Tabellen
  • Einbetten von Stored Procedures in DML-Commands (INSERT … EXEC … )
  • Functionen: Scalar-Function, TableValue-Function, MultiStatement-Function
  • Verkapseln von.NET-Code in SQL-Programmables

Trigger

  • DML-Trigger
  • DDL-Trigger
  • Audit- & Logon-Trigger
  • Nested Trigger und Transaktionen
  • Best Practices zum Einsatz von Triggern

Dynamisches SQL

  • Best Practice: Generieren von dynamischen SQL
  • Alternativen zu Cursorn und dynamischem SQL
  • Laufzeit-Aspekte (Kompilierung, Statement-Prepare, SQL-Injection)
Voraussetzung: 

Die Teilnehmer sollten über gute Kenntnisse im allgemeinen Sprachschatz von TSQL haben (DML-Befehle, JOIN, Subselect etc.). Vorkenntnisse im TSQL-Scripting wie Erstellung  von gespeicherten Prozeduren sind nicht notwendig.

Durchführung: 
Demonstration, Übung, Vortrag
Produkt: 
SQL Server - Alle Versionen