Nach dem Seminar können Sie bestehende T-SQL-Abfragen und Prozeduren systematisch auf Optimierungsmöglichkeiten untersuchen. Sie lesen Ausführungspläne, beurteilen den Einsatz von Indizes und wählen geeignete Ansätze für Filterung, Verknüpfungen und temporäre Datenhaltung. Sie verstehen die Auswirkungen von Transaktionen und Isolationsstufen und können Fehler strukturiert behandeln. Darüber hinaus gestalten Sie Datenzugriffe über Rollen, Berechtigungen und parametrisierte Abfragen sicherer. Sie setzen CTEs, Fensterfunktionen und dynamisches SQL bewusst ein und überprüfen Änderungen mithilfe von Code-Reviews und Tests. So verbessern Sie die Wartbarkeit Ihres Codes und schaffen eine fundierte Grundlage für leistungsfähige und zuverlässige Datenbankanwendungen.
SQL Server Execution Plans lesen und interpretieren
Ineffiziente Abfragen erkennen und Optimierungsansätze ableiten
Fehlende oder unnötige Indizes identifizieren
Indizes und Schlüsselspalten
Clustered und Non-Clustered Indizes: Unterschiede und Einsatzbereiche
IDENTITY-Eigenschaft: Zahlenwerte automatisch erzeugen; Eindeutigkeit mit PRIMARY KEY, UNIQUE-Constraint oder eindeutigem Index absichern; Grenzen und mögliche Lücken der Nummerierung verstehen
Indexfragmentierung prüfen und verwalten
Filtered Indizes und Included Columns gezielt einsetzen
Abfrageoptimierung
WHERE- und JOIN-Klauseln effizient einsetzen
Indizierte Sichten zur Abfrageoptimierung nutzen
Leistungsanalyse mit Extended Events und Performance Monitor; SQL Server Profiler im Kontext bestehender Umgebungen einordnen
Temporäre Tabellen und Tabellenvariablen
Unterschiede, Erstellung und geeignete Einsatzbereiche
Auswirkungen auf Leistung und Ressourcenverbrauch
Benutzerverwaltung und Zugriffskontrollen
Benutzer anlegen, Rollen zuweisen und Berechtigungen verwalten
Zugriffsrechte mit GRANT und REVOKE steuern
SQL Injection durch parametrisierte Abfragen vermeiden
Datenzugriffe über gespeicherte Prozeduren und Sichten steuern
Benutzeranmeldungen sicher verwalten
Transaktionen
Transaktionsgrenzen mit BEGIN TRANSACTION, COMMIT und ROLLBACK setzen
Isolationsstufen und Datenkonsistenz
Deadlocks erkennen und vermeiden
Savepoints für Teil-Rollbacks verwenden
Fehlerbehandlung
Fehlerbehandlung mit TRY...CATCH und THROW; RAISERROR für gezielte Informations- und Fortschrittsmeldungen sowie zur Einordnung von Bestands-Code
Niedrige Severity-Stufen und WITH NOWAIT für Meldungen einordnen
Fehler protokollieren und überwachen
CTEs und Fensterfunktionen
CTEs definieren und komplexe Abfragen strukturieren
Rekursive CTEs für hierarchische Daten
ROW_NUMBER, RANK, DENSE_RANK und NTILE
Partitionierung, Sortierung und Leistungsaspekte der OVER-Klausel
Dynamisches SQL und Codequalität
Dynamische SQL-Anweisungen erstellen und sicher verwenden
SQL Injection bei dynamischen Abfragen vermeiden
T-SQL-Code durch Reviews überprüfen
Unit-Tests für Prozeduren sowie geeignete Testdaten erstellen und verwalten
Dauer/zeitlicher Ablauf:
2 Tage
Zielgruppe:
Das Seminar richtet sich an Datenbankentwickler, Datenbankadministratoren, Softwareentwickler und Datenanalysten, die bereits mit T-SQL arbeiten und ihre Kenntnisse vertiefen möchten. Ebenso angesprochen sind IT-Fachkräfte und technisch orientierte IT-Projektverantwortliche mit praktischer Erfahrung in der Datenbankentwicklung.
Teilnahmevoraussetzungen
Sie benötigen praktische Erfahrung mit SQL und der Entwicklung von Datenbankabfragen.
Sie sollten grundlegende T-SQL-Anweisungen sowie Tabellen, Verknüpfungen und gespeicherte Prozeduren kennen.
Sie benötigen Grundkenntnisse im Umgang mit Microsoft SQL Server.
Das Seminar vermittelt weiterführende Vorgehensweisen und setzt vorhandene Grundlagen der Datenbankentwicklung voraus.
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern.
Diese Cookies werden nicht automatisiert gesetzt.
Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren.
Weitere Informationen finden Sie hier.