LEAD und LAG mit T-SQL

Die Funktionen LEAD() und LAG() kennen viele bereits als MDX-Funktionen und wissen, die Möglichkeiten zu nutzen, die diese Funktionen bieten. Seit SQL-Server 2012 stehen diese Funktionen auch in T-SQL für relationale Datenbankabfragen zur Verfügung. Im Folgenden werde ich die Verwendung weiterlesen…

M:N-Beziehung und Granularität

M:N-Beziehnungen können auch mit Verknüpfungen oberhalb der Blattebene (höhere Granularität) gebildet werden. Dadurch entstehen im Detail unterschiedliche Ergebnisse. Abhängig von der Ziel-setzung kann entsprechend agiert werden. Dieser Beitrag liefert drei unterschiedliche Beispiele zur Einschätzung des jeweiligen Verhaltens.

Auftragshistorie für Datenaufbereitungen mit DeltaMaster visualisieren

Die Auftragshistorie von Datenaufbereitungen mittels SQL-Server-Agent-Aufträgen ist im Allgemeinen nur im SQL-Server Management-Studio sichtbar. Damit bleiben zeitliche Veränderungen bei der Auftragsausführung häufig unbemerkt und unerkannt. Dieser Blog zeigt, wie man diese Daten mit DeltaMaster visualisieren und so Veränderungen bei der weiterlesen…

Probleme im Griff mit Extended Events

Besonders bei komplexen Planungsanwendungen oder umfangreicheren ETL-Vorgängen erschließen sich manche SQL-Server-Probleme nur bei genauer Betrachtung aller involvierten Faktoren. Ist reines „Logging“ nicht mehr genug oder kommt eine Live-Betrachtung in Frage, sollte statt zu dem Tool „SQL Server Profiler“ zu dem Tool „Extended Events“ gegriffen werden. „Extended Events“ ist seit dem SQL Server 2008 verfügbar und ab dem SQL Server 2012 direkt integriert.

In diesem Beitrag zeigen wir, welche Möglichkeiten mit „Extended Events“ zur Verfügung stehen. Dabei erläutern wie anhand von Praxisbeispielen die Vorgehensweise. weiterlesen…

SQLCMD – Das kleine Schweizer Taschenmesser für die Kommandozeile

In diesem Beitrag erläutern wir die Funktionsweise und die Einsatzmöglichkeiten von SQLCMD. SQLCMD ist ein kleines Hilfsprogramm, das über den OLEDB Provider eine Verbindung zum SQL-Server aufbaut. Es übermittelt SQL-Kommandos und -Skripte, ohne dass das Microsoft SQL Management Studio erforderlich ist. Wir erklären den grundsätzlichen Syntaxaufbau und zeigen gängige Statements. Anhand von einigen Beispielen stellen wir zudem die Einsatzmöglichkeiten vor. weiterlesen…

Kontenschema als Parent-Child-Dimension

Dieser Beitrag erläutert, wie eine Kontenstruktur als Dimension in ein OLAP-Modell aufgenommen werden kann. Bei Kontenschemata handelt es sich häufig um eine Parent-Child-Struktur. Daher lässt sich diese per SQL-Skript so anpassen, dass sie als Quell-Tabelle bzw. -View für das Modell genutzt werden kann. Zudem wird gezeigt, wie die erstellte Parent-Child-Dimension sich in DeltaMaster ETL einpflegen lässt. weiterlesen…

Die Stolpersteine des SQL Servers

Dieser Beitrag befasst sich mit Problematiken wie impliziter Konvertierung und ähnlichen Verhalten vom SQL Server, die nicht auf den ersten Blick nachvollziehbar sind. Es werden vier Beispiele vorge-stellt, in denen zum Teil auf mehrere Probleme hingewiesen wird. Vor allem Neulinge in der SQL-Programmierung finden hier hilfreiche Tipps. weiterlesen…

SQL Server-Agent Auftragsdetails mit SQL ermitteln

SQL-Server speichert umfassende Informationen zu Aufträgen – wie Laufzeit, Erfolg, nächste Ausführung etc. – in der Systemdatenbank msdb. Damit diese Informationen ausgewertet und verarbeitet werden können, müssen sie zunächst extrahiert werden. Dieser Beitrag erklärt, wie solch eine Extraktion abläuft.
weiterlesen…

Schlüssel sind wichtig. Manchmal aber auch störend.

In unseren mit dem DeltaMaster Modeler aufgebauten Datenbanken existieren auf allen Dimensions- und Faktentabellen Schlüssel- und Fremdschlüsselbeziehungen. Diese Tatsache ist unerlässlich, will man im Anschluss eine funktionierende OLAP Datenbankarchitektur aufbauen. Jedoch kommt es zuweilen vor, dass gerade in großen und umfangreichen nächtlichen Transformprozessen genau eine, im Idealfall sogar isoliert betrachtbare, Befüllungsprozedur eine Schlüsselverletzung hervorruft. weiterlesen…

SUM-Where OVER the rainbow

Bereits 2007 haben wir uns in unserem Blog Gedanken gemacht, wie lange OLAP-Datenbanken wohl noch überleben werden. Im Zeitalter des DeltaMaster ImportWizzard kommt man auch tatsächlich ab und an ins Grübeln, wozu man diese Form der Datenbanken überhaupt noch benötigt? Bei genauer Betrachtung findet man aber schnell zahlreiche Gründe, warum wir immer noch lieber Würfel als Tabellen bauen. Neben dem deutlich schnelleren Aggregationsverhalten einer multidimensionalen Datenbank zählt auch die MDX-Zeitintelligenz nach wie vor zu den Pluspunkten. Relational Kumulieren beispielsweise erzeugt bei einem T-SQL-Programmierer nach wie vor ein flaues Gefühl in der Magengegend.
2012 ist jetzt auch Microsoft auf die Idee gekommen und sagt ihrer eigenen OLAP-Datenbank den Kampf an. Mit dem neuen „Tabular Mode“ und der Abfragesprache DAX des SQL Servers 2012 gibt Microsoft ein deutliches Statement für relationale Datenbanken ab. Im Zuge dessen wurden auch Implementierungslücken bereits existierender T-SQL-Befehle behoben, so dass künftig eine relationale Kumulation einem Programmierer nur noch ein müdes Lächeln ins Gesicht zaubern wird.
Wenn Sie wissen wollen wie, dann folgen Sie mir einfach auf dem Weg zum Ende des Regenbogens… weiterlesen…