SSIS vs. SQL: Lesbarkeit und Wartbarkeit — wie viel SQL gehört in ein SSIS-Paket?

Drei Wege, dieselbe ETL-Aufgabe in SSIS abzubilden. Einer braucht 10 Minuten und ist nachvollziehbar. Einer braucht Stunden, 40 Komponenten im Data Flow und überlebt die nächste Anforderungs-Änderung nicht. Die Frage „wie viel SQL gehört in ein SSIS-Paket?“ entscheidet über Wartbarkeit, Lesbarkeit und Entwicklungs-Tempo — nicht über Tool-Loyalität. In diesem Artikel: Voraussetzung: SQL Server 2017+ und SSIS … Weiterlesen

SSIS vs. SQL: Quellcodeverwaltung — warum SP-Diffs lesbar sind und `.dtsx`-Diffs nicht

Wer zwei Versionen eines SSIS-Pakets difft, sieht schon bei einer trivialen Umbenennung Änderungs-Markierungen quer durch das XML — im Beispiel dieses Artikels acht „geänderte Bereiche“, und der Diff ordnet die Umbenennung nicht einmal der richtigen Task zu. Dieselbe Modifikation in einer Stored Procedure zeigt drei Zeilen Diff und ist in 30 Sekunden reviewbar. Quellcodeverwaltung ist … Weiterlesen

SSIS vs. SQL: Identitätswechsel — wie ein Agent-Job an die Ressourcen kommt, die er braucht

Ein SQL-Server-Agent-Job, der eine CSV-Datei von einem File Share lesen soll, scheitert mit Access is denied — der Service-Account des Agents hat auf dieser Freigabe keine Berechtigung. Statt dem Service-Account immer mehr Rechte zu geben, wechselt der Job-Step die Identität: Identitätswechsel (englisch impersonation) zur Laufzeit, im SQL Server Agent über einen Proxy. Eine Grenze bleibt: Reine Transact-SQL Script-Steps kennen keinen Proxy und … Weiterlesen

SSIS vs. SQL — wann SSIS, wann reines T-SQL, wann beides kombinieren?

Eine CSV-Datei einlesen, die Daten transformieren, das Ergebnis in SQL Server laden: Für den Datei-Teil liegt SSIS nahe, für die Transformation reines T-SQL. Die beste Lösung ist oft die Kombination aus beiden. Den einen richtigen Weg gibt es nicht, wohl aber drei Entscheidungs-Kriterien, an denen sich jede konkrete Wahl messen lassen sollte: Lesbarkeit, Quellcodeverwaltung, Identitätswechsel. Diese Artikel-Serie nimmt … Weiterlesen

Komplexe SQL-Statements kommentieren — parallele Inline-Dokumentation, die die Lesbarkeit nicht zerstört

Wer ein 200-Zeilen-SELECT mit rekursiver CTE schreibt, versteht es beim Schreiben vollständig — und drei Wochen später kein Wort mehr davon. Inline-Kommentare sind das Sicherheitsnetz dagegen. Das Problem: schlecht gesetzt, zerstören sie genau die Lesbarkeit, die sie retten sollen. Was dieser Artikel zeigt: Voraussetzung: Die Beispiele laufen gegen AdventureWorksDW2017 (Tabelle [dbo].[DimEmployee], rekursive CTE über ParentEmployeeKey). SSMS dient als Beispiel-Editor — die … Weiterlesen

Namenskonvention für SSIS-Tasks — damit das Ausführungsprotokoll endlich lesbar ist

Ein SSIS-Paket schlägt fehl, der Blick ins Ausführungsprotokoll soll die Ursache liefern — und trifft auf eine Baumstruktur, in der die Tasks nicht in der Reihenfolge ihrer Ausführung stehen, sondern alphabetisch nach Namen. Bei komplexen Paketen wird dieses Protokoll schlicht unlesbar. Die gute Nachricht: Eine durchdachte Namenskonvention macht das Protokoll wieder lesbar — allein über … Weiterlesen

Formatierung von SQL Statements (Teil 2) — Statement-Aufbau: SELECT, WHERE, FROM, JOIN

Wer in einem 200-Zeilen-SELECT-Statement nicht erkennen kann, wo die WHERE-Klausel anfängt und wo sie aufhört, hat ein Strukturproblem — kein Inhaltsproblem. Dieser Artikel zeigt, wie man SQL-Statements so formatiert, dass SELECT, FROM, WHERE und JOIN auch in langen Abfragen sofort erkennbar bleiben. → Teil einer Reihe. Dieser Artikel ist Teil 2 und behandelt den Statement-Aufbau (SELECT, WHERE, FROM, JOIN). Die Bezeichner-, Delimiter-, Komma- und Alias-Grundlagen stehen in Teil 1 … Weiterlesen

Formatierung von SQL Statements (Teil 1) — Bezeichner, Delimiter, Kommata, Aliase

Wer ein schlecht oder gar nicht formatiertes SELECT mit 30 Spalten und einem halben Dutzend Joins einmal hat debuggen müssen, weiß: nicht das SQL kostet den Tag, sondern die Suche danach, was es eigentlich tut. Formatierung von SQL ist keine Geschmacksfrage, sondern ein Wartungs-Werkzeug — und sie beginnt bei einer Namenskonvention. → Teil einer Reihe. Dieser … Weiterlesen

Editor-Optionen in SSMS — damit SQL-Code im Team überall gleich aussieht

 Ein SQL-Statement, das beim einen Entwickler sauber eingerückt aussieht, zerfällt beim Kollegen in ein Treppenmuster — obwohl niemand etwas am Code geändert hat. Schuld sind fast immer unterschiedliche Editor-Einstellungen: eine andere Tab-Weite, Tabulatoren statt Leerzeichen, eine nicht-monospaced Schriftart. Lesbarer SQL-Code im Team beginnt deshalb nicht beim Tippen, sondern bei den Editor-Optionen. Das Wichtigste vorab: Voraussetzung: ein … Weiterlesen

Strukturierung und Formatierung von SQL Statements — der Cluster-Pfad

Ein komplexes SQL-Statement ist schon schwer genug zu lesen — wechselnde Coding-Styles im selben File machen jede Zeile zur zusätzlichen Re-Orientierungs-Übung. SQL-Formatierung ist deshalb Team-Verantwortung, kein persönliches Geschmacksthema. Kurzüberblick: Voraussetzung: SQL Server oder Postgres — die Serie entstand 2018 mit SSMS als Referenz-Editor, die Prinzipien sind versionsunabhängig und gelten für jeden SQL-Editor mit Block-Selection. Inhalt Vorgeschichte: 2.000 … Weiterlesen