Ich spreche beim PASS Meetup in München über Azure SQL DB

Ich bin am 12.September 2019 zu Gast beim SQL PASS Meetup der Regionalgruppe Bayern und werde einen Überblick über die verschiedenen Azure SQL Databases geben. Kommt natürlich gerne vorbei, jeder ist herzlich eingeladen, die Veranstaltung ist kostenlos und nicht umsonst 😉

Hier kommt eine Kurzbeschreibung meines Vortrages:

Jeder spricht davon, in die Cloud zu gehen, auch mit seinen Datenbanken. Lassen Sie mich Ihnen die Azure SQL Database in all ihren wunderschönen Farben und Optionen vorstellen. Es geht von der allgemeinen Beschreibung über die verschiedenen Engines / Dienste und natürlich die Features, die Sie für Ihr Geld bekommen. Desweiteren werden wir die unterschiedlichen Bereitstellungs-Methoden und Migrationspfade Ihrer Daten anschauen.
Nach meiner Session können Sie die verschiedenen Datenbank-Dienste unterscheiden und wissen, welcher für Sie und Ihre Anwendung der richtige sein könnte!

Ich freue mich auf einen spannenden Abend mit Ihnen!
Anmeldungen bitte hier vornehmen 😉
https://www.meetup.com/de-DE/pass-bayern/events/264489827/

An diesem Abend werde ich aber nicht der einzige Vortragende sein, denn Sebastian Sproß (Microsoft Cloud Architekt) wird auch eine spannende Geschichte zu Datenbanken CI/CD erzählen und was das Ganze mit (Azure) Devops zu tun hat. Auch auf diesen Vortrag freue ich mich schon sehr.

CommunityRocks

128 Tage auf neuen Wegen

Nun bin bereits unglaubliche 128 Tage auf eben diesen neuen Wegen unterwegs, zu denen ich im Mai aufgebrochen bin! Was hat sich seit dem 01. Mai 2019 ereignet? Was ist anders? Was macht es besonders? Was gefällt mir nicht? Ich möchte euch in diesem Blog-Beitrag einen Einblick geben in meine ersten Wochen unter „neuer Flagge“ und mit neuen (anderen) Herausforderungen gemeinsam mit neuen Kollegen.

Gemeinsam neue Herausforderungen meistern

Einer der größten Unterschiede ist definitiv die Kommunikation – in den letzten 12 Jahren habe ich bei Atos (ursprünglich Atos Origin) als SQL Datenbank-Administrator (vom Junior zum Senior bzw Team Lead) gearbeitet… zuletzt bestand Atos aus zahlreichen Legal Entities und rund 120.000 Mitarbeitern weltweit… jetzt bei Kramer&Crew arbeite ich bei einem Unternehmen mit ~140 Mitarbeiter… da sind schon die Kommunikationswege grundsätzlich unterschiedlich und damit auch die Wege und Arten Entscheidungen herbeizuführen. Dies empfinde ich auch als gravierenden Vorteil, man ist viel agiler unterwegs und kann dem Kunden schneller und unkomplizierter helfen.

Auch das Aufgabengebiet und damit die Herausforderungen sind stark unterschiedlich – da ich im Tagesgeschäft noch nicht zu 100% ausgelastet bin, was vielfältige Gründe hat, wie zum Beispiel der Vertrieb, der mich (und meine Kenntnisse) erst langsam an den Kunden, das bietet mir aber auch die Möglichkeit mich mit neuen oder anderen Themen zu beschäftigen. So schaue ich meinem Kollegen – Martin Gudel – sehr gerne über die Schulter, dieser beschäftigt sich sehr intensiv mit Office 365 (Power-Apps, Flows und Kombinationen) und bietet unseren Kunden sehr individuelle Lösungen für deren Anforderungen, alles sehr spannende Tätigkeitsfelder!!!

Gerade die neuen Technologien wie Nutanix Hyper Converged Infrastrukturen waren anfänglich komplett neu und ich musste mich erst einarbeiten, aber egal wenn ich fragte, alle waren sofort bereit mir gemeinsam an einer Lösung zu arbeiten, mir Antworten auf meine Fragen zur Seite zu stehen. Hier gibt es immer hilfreiche Kollegen, die versuchen so gut es zu unterstützen, gerade die agile Arbeitsweise und das entspannte Arbeitsklima lässt mich jeden Morgen gerne zu Arbeit gehen!

neue kreative Problemlösungen

Auch war ich vor einigen Tagen bei einem Kunden, der für seine Applikation eine neue Lösung bauen möchte, von der Ausgangssituation über Phase 1 und Phase 2 zu einer hoch verfügbaren, skalierenden SQL Server Umgebung – onprem !!! Hier ergaben sich aus einer Diskussion mit Martin auch sehr interessante und vielversprechende Lösungsansätze, die ich glücklicherweise erst einmal für mich selber aufbauen und testen konnte. In meiner neuen Position ergeben sich die Möglichkeiten solche großartigen, innovative Lösungen für unseren Kunden zu erdenken, testen und dann ggfs präsentieren.

Oder Kunden einfach von der Genialität einer Microsoft Azure Cloud zu überzeugen, dass dem Kunden für seine Anforderungen zahlreiche unterschiedliche Möglichkeiten zu seiner perfekten Lösung zur Auswahl stehen und er selber entscheiden kann, was für Ihn die optimalste Lösung ist. Sei es der einfache „Lift&Shift“-Ansatz von virtuellen Maschinen, die Kombination von verschiedenen Cloud-Services zu einer Gesamt-Lösung oder eine hybride Lösung. Es bieten sich so viele, neue spannende und interessante Aufgabengebiete und Möglichkeiten…

gute Basis durch gemeinsame Arbeit

So viel kreative Freiheit hatte ich bei Atos leider nicht, hier ging es zum Schluss leider nur noch um Kosten, Effizienzen und wie man Aufgaben standardisieren könnte. Durch diese andere Aufgabenstellung habe ich auch viel gelernt, gerade was Automatisierung mittels Powershell angeht, dies bringt mir auch bei meiner neuen Arbeit sehr viele Vorteile. Auch die Standardisierung von SQL Server Installationen in unterschiedlichen Größen und Ausprägungen von Umgebungen hilft hier sehr weiter, da sie eine gewisse Effizienz mit sich bringt.

In sofern sehe ich mich – dank meiner Vorkenntnisse und Kenntnisse – sehr gut auf die neuen Aufgaben für die unterschiedlichen Kunden einer Kramer&Crew gewappnet. Hier gilt vor allem – auch wenn ich mich wiederholen sollte – der Dank meinen ehemaligen Hamburger Kollegen, die mich immer unterstützt haben und gemeinsam mit mir an diesen Herausforderungen gearbeitet haben, gemeinsam konnten wir viele Hürden und Baustellen bewerkstelligen und voran kommen, wenn auch manchmal die ursprünglichen Wege und Arbeiten komplett wieder über den Haufen geworfen werden mussten, um einen neuen Weg zu beschreiten, der uns dann doch zum Ziel gebracht hat.

mit viel Energie zu neuen Abenteuern

Diese Zusammenarbeit ist auch bei Kramer&Crew sehr deutlich zu spüren und hat mich sehr fasziniert, denn hier haben alle ein gemeinsames Ziel. Auch wenn man nicht unbedingt jeden Tag mit denselben Kollegen zusammen arbeitet oder man in unterschiedlichen Kunden-Umfeldern oder Projekten arbeitet, so haben alle eins spürbar gemeinsam… es geht immer um das Wohl des Kunden! Alle wollen dem Kunden einen ausgezeichneten Service mit einem erfolgreichen Abschluss bieten… Ich fühle mich hier sehr wohl und hoffe auch viele spannende und innovative Kundenprojekte.

Das Azure Meetup Hamburg im August 2019

Die richtigen heißen Tagen sind (hoffentlich) vorbei, dennoch wird es im August noch einmal so richtig heiß was unser Thema im Azure Meetup angeht! Das Azure Readiness Framework wird uns näher gebracht, aber was dieses Framework ist und was es kann, dass wird uns Lennart Passig in wenigen Tagen erläutern. Ich freue mich darauf Lennart endlich mal wieder in Hamburg und ihn erstmalig als Sprecher in unserer Usergroup begrüssen zu können!

Anmelden könnt ihr euch – wie gewohnt und natürlich kostenfrei über die Meetup-Seite des Azure Meetups in Hamburg
Hier geht es direkt zu unserer August Veranstaltung
Zwar gibt es mittlerweile eine Warteliste, aber es lohnt sich bestimmt auch dort einzutragen, da die Erfahrung gezeigt hat, dass der ein oder andere noch kurzfristig absagt, weil ihm/ihr etwas dazwischen gekommen ist. Also „aufpassen“!

Hier kommt der Abstract für das Meetup, damit ihr wisst worum es gehen soll 😉

Azure Readiness: The Cloud Adoption Framework
In this session I will give a general overview on how to start with Azure. What are the key pillars that you need to focus on when working with the cloud? How do I manage to gain control over Azure as an IT organization while maintaining agility? These and more topics I will present as part of the new Cloud Adoption Framework by Microsoft.

Speaker: Lennart Passig
Cloud Solution Architect @ Microsoft
Lennart started working as a System Administrator in the Exchange and Active Directory field for small and midsized companies. After realizing that the future is in cloud computing Lennart shortly started working with the first version of the Microsoft private cloud, back in the day, with System Center components only. Now he is specializing in the Azure public cloud as a Cloud Solution Architect and is also co-organizer of the Azure Meetup in Munich.

https://www.meetup.com/de-DE/Azure-Meetup-Hamburg/events/qmdfdryzlbbc/

Photo by William Stitt on Unsplash – https://unsplash.com/photos/YadCgbsLHcE

Aha-Effekt beim Setzen von SQL Instanz Parametern mit dbatools

In der letzten Woche habe ich bei einem Kunden mehrere SQL Server installiert und musste diese alle identisch installieren und konfigurieren. Was liegt hier näher als dies mit einem Powershell Skript zu machen, daher habe ich mir die „Mühe“ gemacht und die einzelnen Schritte der SQL Server Konfiguration mit dbatools zu realisieren. Ich möchte in diesem Beitrag nicht auf alle Schritte der Konfiguration eingehen, sondern nur einen Teil davon zeigen, der mir einen gewissen „Aha-Effekt“ brachte.

Im Rahmen der SQL Server Konfiguration sollten die Default-Werte von „MaxDop“ und „Cost Threshold for Parallelism“ angepasst werden. Das Setzen von MaxDoP mittels Powershell bzw dbatools ist relativ einfach da es hierfür einen eigenen Befehl gibt, aber auf für den „Cost Threshold for Parallelism“ hat dbatools einen „Workaround“, hier gibt es leider (noch) keinen direkten Befehl für.

Set-DbaMaxDop -SqlInstance sql2008, sql2012

Diese Befehlszeile legt den Wert von „Max DOP“ (Maximal Degree of Parallelism) auf den empfohlenen Wert für die SQL Server Instanzen „SQL2008“ und „SQL2012“ fest. Immer in Verbindung mit diesem Konfigurations-Parameter steht immer der „Cost Threshold“, welcher per Default immer noch auf 5 steht.

Alle SQL Server Instanzen auf einmal…

Um alle SQL Server Instanzen relativ schnell und einfach zu konfigurieren, habe ich mir das Kommando „Get-DbaRegisteredServer“ (als Alias von Get-DbaRegServer) vorgenommen. Als Vorbereitung hierfür habe ich auf allen Servern im SQL Server Management Studio die notwendigen Server (hier 2 Server mit je 3 Instanzen) als „Registered Server“ angelegt und konnte dann mit Powershell aka dbatools darauf zugreifen.

Laut dbatools-Dokumentation, ruft dieser Befehl eine Liste der SQL Server-Objekte ab, die in lokal registrierten Gruppen sowohl im Azure Data Studio als auch auf dem zentralen Verwaltungsserver gespeichert sind.

geborgt bei dbatools.io - Vielen Dank an Chrissy

Mit diesem Befehl und der Möglichkeit die Objekte aus dem Ergebnis-Objekt als Pipeline weiterzugeben, kann man schöne Dinge machen, wie eben den Wert für „MaxDoP“ auf allen Server bzw Instanzen in einer Kommandozeile zu konfigurieren…

Get-DbaRegisteredServer | Set-DbaMaxDop

Nun aber zu meinem Aha-Effekt mit einer weiteren Kommandozeile 😉

Cost Threshold For Parallelism

Wie oben schon angedeutet, geht die Anpassung nur über eine Work-around mit dbatools und nicht mit einem dbatools-Kommando, hierzu verwende ich jetzt „Set-DbaSpConfigure“. Natürlich könnte ich auch den „MaxDoP“ mit diesem Kommando konfigurieren, dann muss ich aber selber für die vorherige Ermittlung und Berechnung des jeweiligen Wertes für MaxDoP sorgen, also die vorhandenen Kerne ermitteln, diese dann gegen die Best-Practise matchen und den Wert über eine Variable an den Set-Befehl weitergeben. Ich setze diesen Werte in 98% aller Instanzen auf 40 (ausser der Kunde oder die Applikation möchten etwas anderes), daher benötige ich hier keine Logik.

Meiner obigen Logik bzw der Dokumentation folgend habe ich es mit folgender Kommandozeile versucht:

Get-DbaRegisteredServer | Set-DbaSpConfigure -Name 'CostThresholdForParallelism' -Value 40

Dies brachte mich aber zu einem (auf den ersten Blick) nicht nachvollziehbaren Fehler (auch mein Versuch den Wert als String zu übergeben war nicht erfolgreich):

WARNING: [13:02:23][Set-DbaSpConfigure] Value out of range for Server1\Instanz1 ( <-> )
WARNING: [13:02:23][Set-DbaSpConfigure] Value out of range for Server2\Instanz1 ( <-> )
WARNING: [13:02:23][Set-DbaSpConfigure] Value out of range for Server1\Instanz2 ( <-> )
WARNING: [13:02:23][Set-DbaSpConfigure] Value out of range for Server2\Instanz2 ( <-> )
WARNING: [13:02:23][Set-DbaSpConfigure] Value out of range for Server1\Instanz3 ( <-> )
WARNING: [13:02:23][Set-DbaSpConfigure] Value out of range for Server2\Instanz3 ( <-> )

Ich habe den Grund hierfür leider noch nicht wirklich gefunden, vielleicht kann mir jemand das Phänomen näher bringen… vielleicht ist dies ja aber auch so gewollt oder ggfs sogar ein „Bug“…

Aber ich war vorher schon so erfolgreich mit dem Pipelining, dass ich das auch hier angewendet habe… also Ermitteln wir erst alle SQL-Instanzen, ermitteln dann auf diesen Instanzen den aktuellen Parameter für den „Cost Threshold For Parallelism“ und setzen ihn dann auf den neuen Wert 40.

Get-DbaRegisteredServer | Get-DbaSpConfigure -Name 'CostThresholdForParallelism' | Set-DbaSpConfigure -Value 40
ComputerName  : Server1
InstanceName  : Instanz1
SqlInstance   : Server1\Instanz1
ConfigName    : CostThresholdForParallelism
PreviousValue : 5
NewValue      : 40

ComputerName  : Server2
InstanceName  : Instanz1
SqlInstance   : Server2\Instanz1
ConfigName    : CostThresholdForParallelism
PreviousValue : 5
NewValue      : 40

ComputerName  : Server1
InstanceName  : Instanz2
SqlInstance   : Server1\Instanz2
ConfigName    : CostThresholdForParallelism
PreviousValue : 5
NewValue      : 40

ComputerName  : Server2
InstanceName  : Instanz2
SqlInstance   : Server2\Instanz2
ConfigName    : CostThresholdForParallelism
PreviousValue : 5
NewValue      : 40

ComputerName  : Server1
InstanceName  : Instanz3
SqlInstance   : Server1\Instanz3
ConfigName    : CostThresholdForParallelism
PreviousValue : 5
NewValue      : 40

ComputerName  : Server2
InstanceName  : Instanz3
SqlInstance   : Server2\Instanz3
ConfigName    : CostThresholdForParallelism
PreviousValue : 5
NewValue      : 40

Und schon habe ich wieder etwas großartiges für mich selber herausgefunden und bin um eine Erfahrung im Umgang mit dbatools reicher!

Ich liebe dieses Powershell-Modul, mit dem ich zahlreiche (nahezu alles!) Dinge am und um den SQL Server herum anpassen, optimieren und automatisieren kann. Ich verwende es sehr gerne (wie man auch meinen anderen Blog-Posts sehen kann) und mittlerweile bei allen meinen Kunden. VIELEN DANK an @Chrissy und die vielen anderen Contributors, die sich die Mühe rund um dieses Community-Tool zu machen!

Beitragsbild – von Ben White auf Unsplash

Wenn sich Wege trennen, entstehen neue Möglichkeiten

Ich nehme zum 1. Mai Abschied von Atos und wechsle zur Kramer und Crew und möchte euch hiermit einen Rückblick über meinen Weg mit Atos (Atos Origin) geben. Was ich erlebt, gelernt und miterlebt habe, es waren nicht nur unbedingt angenehme Jahre. Aber alles der Reihe nach…

Meine ersten Jahre bei Atos als Junior DBA

Alles begann im Mai 2007, als ich nach einer kurzen Zeit in einer Auffanggesellschaft, meine Stelle als Junior Datenbank Administrator in Hamburg antreten durfte. Ich kannte bis dahin eigentlich nur den SQL Server aus meiner vorherigen Anstellung, sollte nun aber auch zum Beispiel IBM DB2 betreuen, wo in der Anfangszeit mein Schwerpunkt liegt sollte. Im Laufe der ersten Jahre kam dann auch noch MySQL und eine ganze Menge Enterprise Application Integration (EAI) mit TIBCO hinzu, so dass der SQL Server erst einmal in den Hintergrund gerückt wurde.

Nach einigen Projekten, Neu-Ausrichtungen und personellen Veränderungen hatte ich wieder die Verantwortung für zahlreiche Kunden-SQL-Server. So konnte ich die unterschiedlichen Bereiche und Anwendungsfälle in den unterschiedlichsten Ausprägungen mitgestalten und auch letztendlich betreuen. Aber auch hier gab es dann ein „Kommen und Gehen“, zahlreiche Kollegen nahmen im Laufe der Jahre Abschied, einige Studenten nahmen Platz und bereicherten den Alltag und brachten neue Sichtweisen, Kunden kamen und verschwanden, wuchsen oder fusionierten, so änderten sich immer wieder die Anforderungen und Aufgabenstellungen.

meine Entwicklung und Wachstum über die Jahre

Wie das manchmal in größeren Firmen der Fall ist, war es bei Atos früher etwas schwierig immer die Schulung zu bekommen, die man gerne gehabt hätte… daher habe ich für mich entschieden, dass ich mich selber um einen gewissen Teil der Weiterbildung kümmere und habe mich ~2012 der PASS Deutschland angeschlossen und mich online um entsprechende Schulungen, Beiträge, Foren und so weiter gekümmert. Ich habe so einen für mich neuen Weg und eine komplett neue Welt (die Community) entdeckt.

Die SQL Server Community hat mir dann in der Regionalgruppe Hamburg andere Seiten und Features am SQL Server aufgezeigt, mir das Wissen vermittelt, was mich auch in meiner Arbeit weiter gebracht hat. Als ich dann erstmalig 2013 auf das PASS Camp nach Seeheim (FFM) konnte, war das wie eine andere Welt, die ich so bisher nicht gekannt habe. Der Zusammenhalt, das Expertenwissen, die Menge der „Gleichgesinnten“ war einfach überwältigend… auch wenn ich das erst später so realisiert habe. Auch wenn ich nach dem PASS-Camp längere Zeit nicht wirklich in der Community aktiv war (manche Dinge müssen eben erst etwas reifen 😉 ), brachte mich mein eingeschlagener Weg wieder mit der Community zusammen und brachte mich erneut weiter nach vorne.

Ohne meine großartigen Kollegen, den offenen Umgang miteinander, die gegenseitige Unterstützung wäre ich nicht an meinem jetzigen Punkt bzw wäre es wahrscheinlich gar nicht zu diesem Wechsel gekommen. Meiner Einschätzung nach geht es nicht ohne den Support aus einem Team und einen „Mentor“. In diesem Sinne möchte ich von Herzen bei all meinen Hamburger Kollegen bedanken, dass sie sich immer meine Stories angehört und meine Arbeit übernommen haben, wenn ich für die Community unterwegs war. Und vor allem Thorsten Moeller, dass er meine Pläne und Aktivitäten immer im Rahmen seiner Möglichkeiten unterstützt und gefördert hat! Daher fällt mir mein Abschied in gewisser Weise auch schwer…

Community-Engagement – neue Ziele, neue Wege

Als ich Ende 2016 das Azure Meetup in Hamburg „gründete“, war dies erst einmal für mich ein großer Schritt in eine neue Welt bzw in neue Gefilde. Ich war bisher immer nur Teilnehmer, also Nutzer vieler anderer Kümmerer (#SharingIsCaring). Jetzt wollte ich selber die Fäden in die Hand nehmen und meinen Teil dazu beitragen, dass andere meinen Weg gehen können, sich eigenständig weiterbilden, mit anderen Gleichgesinnten unterhalten, ein Netzwerk auf-/ausbauen, einfach mit den Aufgaben wachsen!

Auch nach mehr als zwei Jahren leite ich nun dieses Meetup und es macht immer noch wahnsinnig viel Spaß, sich um die unterschiedliche Themenbereiche in der Microsoft Cloud zu kümmern und der Community hier immer wieder spannende Sprecher und Vorträge zu organisieren. Durch diesen Einsatz in der Microsoft Community wuchs auch mein nationales bzw europäisches Engagement, siehe z.B. meine Vorträge auf dem SQLSaturday in Wien und Linz. Oder letztendlich die Anerkennung meiner Aktivitäten durch Microsoft mit der Ernennung zum Microsoft Most Valuable Professional (MVP). Es ist eine Ehre Teil dieser weltweiten Community zu sein (was hoffentlich auch noch länger so bleibt)!

Wie oben schon geschrieben, bin ich Atos hier sehr dankbar, denn hätte Atos (Origin) damals nicht den Stein ins Rollen gebracht, hätte ich mich nicht auf diese Weise entwickelt und wäre so gewachsen. Es macht einfach unheimlich Spaß und hat im Endeffekt auch dazu geführt, dass ich nun mein Aufgabengebiet zu einem anderen Arbeitgeber verlege und Abschied nehme von Atos.

mehr Data, mehr Cloud, mehr Community – neue Herausforderungen

Ich wechsel also morgen zu einem (im Vergleich zu Atos) kleinen Systemhaus namens Kramer und Crew mit Sitz in Köln. Hier werde ich um die komplette Microsoft Data Platform kümmern dürfen/können und werde gemeinsam mit meinen Kollegen und Kunden an spannenden Cloud-Projekten arbeiten! Auch wenn diese Entscheidung dazu führt, im Vergleich zu den letzten 12 Jahren die ich bei Atos war, dass ich mehr auf der Straße unterwegs bin (#ConsultantLife), so wird mich dieser Weg auch wieder persönlich weiter bringen… menschlich sowie fachlich. Über Details in meinem neuen Umfeld kann ich derzeit noch nichts mitteilen, hierzu werde ich sicherlich zu gegebener Zeit noch einmal einen „Fazit“-Blogbeitrag schreiben. Die letzten Gespräche, Vorstellungen und Pläne/Ideen sind sehr vielversprechend und herausfordernd, ich weiß auf jeden Fall, dass ich viel lernen werde, viel umsetzen kann und das alles mit viel Spaß!

Das klingt erst einmal nach viel viel Arbeit, aber keine Sorge ich bleibe der Community erhalten (sowohl der PASS aka Data-Platform als auch Azure). Im Mai werde ich auf jeden Fall mit einem Vortrag Teil der „Technology Conference Hamburg“ sein, ebenso beim SQLSaturday im Rheinland. Und natürlich gibt es weiterhin das Azure Meetup in Hamburg… also muss ich hiervon keinen Abschied nehmen 😉

Wie sagt man so schön, „man sieht sich immer zweimal“… in diesem Sinne, wünsche ich allen eine erfolgreiche Zukunft und vielen Dank für die angenehme und konstruktive Zusammenarbeit, wir sehen uns garantiert irgendwann einmal wieder… entweder beruflich, auf einer Community Veranstaltung oder im privaten Garten…