SQL Server-Agent Auftragsdetails mit SQL ermitteln

SQL-Ser­ver spei­chert umfas­sen­de Infor­ma­tio­nen zu Auf­trä­gen – wie Lauf­zeit, Erfolg, nächs­te Aus­füh­rung etc. – in der Sys­tem­da­ten­bank msdb. Damit die­se Infor­ma­tio­nen aus­ge­wer­tet und ver­ar­bei­tet wer­den kön­nen, müs­sen sie zunächst extra­hiert wer­den. Die­ser Bei­trag erklärt, wie solch eine Extrak­ti­on abläuft.
wei­ter­le­sen…

Hybride” Performancemessung

Der fol­gen­de Bei­trag beschreibt, wie mit der dar­ge­stell­ten Anwen­dung schnell und fle­xi­bel die Aus­füh­rungs­zei­ten von Berich­ten mit Hil­fe von Delta­Master erfasst und ana­ly­siert wer­den kön­nen. Im Fokus steht hier, die oft durch Anwen­der als gefühl­te Ver­schlech­te­rung der Per­for­mance“ beschrie­be­ne sub­jek­ti­ve Ein­schät­zung anhand von manu­el­len Mes­sun­gen mit Daten zu unter­füt­tern. Es wer­den all­ge­mei­ne Ein­fluss­fak­to­ren, das Mess­ver­fah­ren und die Ergeb­nis­dar­stel­lung beschrie­ben.

Zum Ende wird ein Aus­blick über den wei­te­ren Aus­bau der Anwen­dung und neue Anfor­de­run­gen hin­sicht­lich der Auto­ma­ti­sie­rung die­ses manu­el­len Ansat­zes dar­ge­stellt. wei­ter­le­sen…

Kundendatendemos – Darf’s auch etwas Planung sein?

Kun­den­da­ten­de­mos sind ein bewähr­tes Mit­tel, im Ver­triebs- und Presa­les-Pro­zess mit rea­len Daten des Inter­es­sen­ten die Vor­zü­ge von Delta­Master sowie unse­re Fach­kom­pe­tenz unter Beweis zu stel­len. Häu­fig wird in die­ser Pha­se auch die Fra­ge gestellt, ob das neue Werk­zeug nicht nur zu Reporting und Ana­ly­se, son­dern auch zur Pla­nung ein­ge­setzt wer­den kann. Die­se Mög­lich­keit in ihren Grund­zü­gen auf dem kun­den­in­di­vi­du­el­len Daten­mo­dell gleich mit zu demons­trie­ren, ist in jedem Fall vor­teil­haft. Die­ser Bei­trag beschreibt, wie dies mit wenig Auf­wand ermög­licht wird, dazu jedoch vor­ab weder eine auf­wän­di­ge Pro­zess­ana­ly­se durch­ge­führt noch Plan­da­ten beschafft wer­den müs­sen. wei­ter­le­sen…

FLOAT wie fließen

In Pro­jek­ten stellt sich häu­fig die Fra­ge, wel­cher Daten­typ der rich­ti­ge ist für die zugrun­de lie­gen­den Wer­te. Bei Dezi­mal­zah­len hat­te ich bis­her float als Daten­typ bevor­zugt, bis ich jetzt aber auf die Pro­ble­me gesto­ßen bin, die die­se Wahl mit sich bringt. In mei­nem kon­kre­ten Fall ist das Pro­blem beim Run­den einer berech­ne­ten Kenn­zahl im SQL-Ser­ver auf­ge­tre­ten. Die­ser Bei­trag zeigt das Ergeb­nis mei­ner Tests und Recher­chen. wei­ter­le­sen…

Reach for the Star – DeltaMaster ETL auf Star-Schema umbauen

Ob man ein OLAP-Modell auf einem Sno­wfla­ke- oder Star-Sche­ma auf­setzt, ist fast schon eine phi­lo­so­phi­sche Fra­ge, auf die es kei­ne ein­deu­ti­ge Ant­wort gibt. Es gibt Argu­men­te für das eine wie für das ande­re Modell. Kürz­lich gab es im Rah­men einer Per­for­mance­op­ti­mie­rung in einem Hybrid­pla­nungs­sys­tem ein schla­gen­des Argu­ment für ein Star-Sche­ma – die SQL-Ser­ver-inter­ne Star-Join-Opti­mi­za­ti­on. Schein­bar setzt Micro­soft wie­der öfter auf Star-Sche­mas und hat deren Ver­wen­dung intern für Abfra­gen opti­miert. Die Aus­wir­kun­gen (unter ande­rem auf die Real­TimeO­lap-Abfra­gen) sind deut­lich spür­bar. Bleibt die Fra­ge wie man mit Delta­Master ETL zu einem Star-Sche­ma kommt? Schließ­lich wird hier immer ein Sno­wfla­ke-Sche­ma erstellt. Über­ra­schen­der­wei­se ist der Weg dahin gar nicht so weit – zumin­dest wenn man auf Hybrid­pla­nung setzt. Glaubt Ihr nicht? Dann lest und staunt. wei­ter­le­sen…

Datenbankübergreifende Dokumentation von SQL-Objekten

In die­sem Bei­trag wer­den die prag­ma­ti­schen Aspek­te einer daten­bank­über­grei­fen­den Doku­men­ta­ti­on von SQL-Objek­ten stich­punkt­ar­tig erläu­tert und eini­ge ihrer Facet­ten näher betrach­tet.

Eine soli­de Daten­pro­jekt-Doku­men­ta­ti­on mit den viel­fäl­ti­gen Ver­knüp­fun­gen inner­halb von Daten­ban­ken kann recht umfang­reich wer­den und daher stellt sich die Fra­ge, wel­che ein­fa­chen Hilfs­mit­tel hier­für gene­rell ange­bracht sind, die jewei­li­gen Struk­tu­ren und deren Bezie­hun­gen dar­zu­le­gen.

Wer sich sinn­vol­ler Wei­se die Mühe macht und sei­ne erstell­ten SQL-Objek­te und vor allem deren Ver­knüp­fun­gen grund­le­gend doku­men­tiert, hat bei spä­te­ren Anpas­sun­gen ein leich­te­res Vor­ge­hen.
Die fol­gen­den SQL-Skrip­te kön­nen bei der grund­le­gen­den gene­ri­schen Doku­men­ta­ti­on von Daten­ban­ken hel­fen. Der hier beschrie­be­ne Auf­wand hält sich in Gren­zen und lohnt sich auf alle Fäl­le. wei­ter­le­sen…

SSIS-Katalog Teil 1

In die­sem Bei­trag geht es um eine beson­de­re Funk­tio­na­li­tät der SQL Ser­ver Inte­gra­ti­on Ser­vices, wel­che zum ers­ten Mal in der Ver­si­on 2012 vor­ge­stellt wur­de. Der Inte­gra­ti­on Ser­vices-Kata­log (SSIS–Katalog) bie­tet die Mög­lich­keit, SSIS-Pro­jek­te extern zu ent­wi­ckeln und ganz ein­fach in dem SSIS­DB-Kata­log bereit­zu­stel­len. Von dort aus kön­nen die Objek­te (Pro­jek­te, Pake­te, Para­me­ter und Umge­bun­gen) und die Aus­füh­rungs­pro­zes­se mit gerin­gem Auf­wand und ganz bequem über die GUI oder mit Hil­fe der SSIS­DB-Daten­bank-Sich­ten und -Pro­ze­du­ren gesteu­ert, ana­ly­siert, über­wacht und gewar­tet wer­den.

Der Bei­trag zeigt schritt­wei­se, wie
– ein SSIS-Kata­log erstellt wird
– ein SSIS-Pro­jekt im SSIS-Kata­log bereit­stellt wird
– ein SSIS-Paket aus dem SSIS-Kata­log aus­ge­führt wird

und macht deut­lich, wie mit die­ser neu­en SQL Ser­ver Funk­tio­na­li­tät ein nach­hal­ti­ger, pro­fes­sio­nel­ler und stan­dar­di­sier­ter ETL-Pro­zess geschaf­fen wer­den kann. wei­ter­le­sen…

Dynamische Partitionierung

Bei gro­ßen Daten­men­gen und dar­aus resul­tie­ren­den lan­gen Lade­vor­gän­gen, emp­fiehlt es sich, Par­ti­tio­nen zu nut­zen. Ein typi­sches Vor­ge­hen ist z. B. die Par­ti­tio­nie­rung nach Jah­ren. Dabei wer­den täg­lich nur die Daten des aktu­el­len Jah­res neu gela­den. Die­ser Lade­vor­gang kann jedoch im Lau­fe des Jah­res ver­län­gern, obwohl die Daten der ver­gan­ge­nen Mona­te sich kaum ändern. Außer­dem kann es sein, dass die Anzahl der Par­ti­tio­nen durch die ein­ge­setz­te SQL Ser­ver Ver­si­on (SQL Ser­ver Stan­dard Edi­ti­on) begrenzt ist. Wenn im Sys­tem mehr als drei Jah­re vor­han­den sind, ist somit kei­ne Par­ti­tio­nie­rung pro Jahr mehr mög­lich. Eine dyna­mi­sche Par­ti­tio­nie­rung kann für die oben genann­ten Fäl­le die Lösung sein. Hier­bei wird eine fes­te Anzahl von Par­ti­tio­nen defi­niert, deren Zeit­räu­me aber dyna­misch sind. wei­ter­le­sen…