Kürzlich bin ich bei einem Kundenprojekt auf ein unerwartetes Verhalten bei der synchronen Transformationen in der Skriptkomponente gestoßen. Beim Erzeugen einer neuen Spalte in der Skriptkomponente wurde die Ausgabespalte von Typ integer mit 0-Werten befüllt. Dabei hätte ich erwartet, dass die Spalte NULL-Werte enthält. Interessanterweise verhält sich SSIS bei einer asynchronen Datentransformation anders. Um dies zu vermeiden, sollte man stets die entsprechenden Ausgabespalten am Anfang explizit auf NULL setzen.
Betrachten wir beide Fälle anhand zweier Beispiele.
Überwachung von Tabellen via SQL Server Job
Mit dem Einsatz von BI Lösungen haben Viele den Wunsch möglichst immer die aktuellsten Daten aus Ihrem Quellsystem zu analysieren. Doch wie erkennt man, welche Tabellen aktualisiert wurden, möglichst zeitnah nachdem das Update vorgenommen wurde? Am besten automatisiert? Alles machbar! „Überwachung von Tabellen via SQL Server Job“ weiterlesen
Case-Sensitive T-SQL und SSIS best practices
Klar, T-SQL ist Case-Insensitive. Mein SQL Statement ist syntaktisch korrekt, egal ob ich nun sELECT sElEcT, SELECT oder select schreibe. Jede dieser Varianten wird immer funktionieren. Auch bei Datenbank-, Schema-, Tabellen- und Spaltennamen ist der SQL Server tolerant, was die Benutzung der Shift-Taste betrifft (anders als das beispielsweise bei manchen MySQL-Installationen der Fall ist). Es ist dem SQL Server egal, ob ich die Tabelle [dbo].[Table1] oder die Tabelle [DBO].[TaBLE1] abfrage. Sofern eine Tabelle mit dem Namen „Table1“ im Schema „dbo“ existiert, wird die Abfrage ein Resultat liefern.