- Ausführungsplan verstehen:
- SQL Server Execution Plans: Lesen und Interpretieren von Ausführungsplänen.
- Performance-Tuning: Identifizierung ineffizienter Abfragen und Verbesserung der Leistung.
- Indexplanung: Identifizierung fehlender oder unnötiger Indizes.
- Indizes:
- Clustered und Non-Clustered Indizes: Unterschiede und Verwendungszwecke.
- Identitätsspalten: Automatische Generierung von eindeutigen Werten für Schlüsselspalten.
- Indexfragmentierung: Überprüfen und Verwaltung von Fragmentierung.
- Filtered Indizes: Gezielte Indizes für Teilmengen von Daten erstellen.
- Included Columns: Effiziente Abdeckung von Abfragen mit zusätzlichen Spalten.
- Abfrageoptimierung:
- Verwendung von WHERE- und JOIN-Klauseln: Effiziente Filterung von Daten.
- Indizierte Sichten: Optimierung von Sichten durch Indizes.
- Performance Monitor und SQL Server Profiler: Überwachung der Datenbankleistung.
- Temporäre Tabellen und Table Variables:
- Unterschiede zwischen temporären Tabellen und Table Variables.
- Wann und wie Temporäre Tabellen/Table Variables erstellen und verwenden.
- Auswirkungen auf die Leistung und den Ressourcenverbrauch.
- Benutzerverwaltung:
- Anlegen von Benutzern und Zuweisen von Rollen.
- Rechte und Berechtigungen: Gewährung und Entzug von Zugriffsrechten auf Tabellen und Prozeduren.
- GRANT und REVOKE: Feingranulare Berechtigungssteuerung.
- Zugriffskontrollen:
- Vermeidung von SQL Injection: Parameterisierte Abfragen verwenden.
- Stored Procedures und Views: Zugriff auf Daten nur über gespeicherte Prozeduren und Sichten ermöglichen.
- Anmeldungsrichtlinien: Sichere Verwaltung von Benutzeranmeldungen.
- Transaktionen
:
- BEGIN TRANSACTION, COMMIT und ROLLBACK: Transaktionsgrenzen setzen.
- Isolationsstufen: Festlegen der Transaktionsisolationsstufe für Datenkonsistenz.
- Deadlocks: Identifizierung und Vermeidung von Deadlock-Situationen.
- Savepoints: Implementierung von Savepoints zur Teil-Rollback-Funktionalität.
- Fehlerbehandlung:
- TRY-CATCH-Blöcke: Behandlung von Ausnahmen und Fehlern in T-SQL.
- RAISERROR: Erzeugen benutzerdefinierter Fehlermeldungen.
- Fehlerprotokollierung: Erfassen und Überwachen von Fehlern in Logdateien.
- CTEs (Common Table Expressions):
- Definition und Syntax von CTEs.
- Verwendung von CTEs zur Vereinfachung komplexer Abfragen.
- Rekursive CTEs: Anwendung bei hierarchischen Datenstrukturen.
- Fensterfunktionen:
- ROW_NUMBER, RANK, DENSE_RANK und NTILE: Anwendungen von Fensterfunktionen.
- OVER-Klausel: Spezifische Partitions- und Sortierbedingungen festlegen.
- Leistungsoptimierung bei Verwendung von Fensterfunktionen.
- Dynamic SQL:
- Dynamisches Erstellen von SQL-Anweisungen.
- Sicherheitsaspekte und Vermeidung von SQL Injection.
- Sorgfältiger Umgang mit dynamischen Abfragen.
- T-SQL Code-Überprüfung:
- Code-Review: Best Practices zur Überprüfung von T-SQL-Code.
- Unit-Tests: Schreiben und Ausführen von Tests für T-SQL-Prozeduren.
- Testdaten: Erstellung und Verwaltung von Testdaten für die Entwicklung.
LernzieleDas Seminar zum effizienten und sicheren Einsatz von T-SQL in der Datenbankentwicklung verfolgt das Ziel, die Datenbankentwicklung in Ihrem Unternehmen zu optimieren und die Leistungsfähigkeit Ihrer Datenbanken zu verbessern. Durch die Vermittlung bewährter T-SQL Best Practices sollen mögliche Risiken minimiert und die Sicherheit Ihrer Daten erhöht werden. Die Schulung zielt darauf ab, die Produktivität und Effizienz Ihrer Entwicklerteams zu steigern, Kosten zu reduzieren und die Wettbewerbsfähigkeit Ihres Unternehmens zu stärken.
ZielgruppenDas Seminar ist für Teilnehmer konzipiert, die bereits Erfahrung in der Datenbankentwicklung haben und ihre Kenntnisse in T-SQL vertiefen möchten, um effizientere und leistungsfähigere Datenbankabfragen und -prozeduren zu erstellen.