Sorry – lange Ruhezeit wegen viel Freude an der Arbeit

Seit Wechsel meines Arbeitgebers – von der Atos zur Kramer&Crew – bin ich nicht mehr dazu gekommen, einen Blogpost zu schreiben… Ideen habe ich viele auch konkrete Themen, aber es fehlt einfach die Zeit zwischen neuem (Traum-)Job und Familie. Es ist für mich nicht einfach gewesen, den Sprung aus einer „Factory“ – strikt SQL Server Betrieb und in der Freizeit Azure – hinein in eine projektgetriebene, beratungslastige Tätigkeit. Bei der Atos war es eigentlich Tag ein, Tag aus dasselbe…. bei Kramer&Crew ist jeder Tag anders, jeden Tag warten neue Herausforderungen. Auch das Themengebiet ist wesentlich breiter – schließlich bin ich jetzt „Consultant für Microsoft Data-Platform und Azure“ … Themen bei den ich mit viel Freude dabei bin und mit „Passion“ auszufüllen versuche.

Natürlich installiere ich immer noch SQL Server nach Kundenanforderungen aber eben individueller und je nach Kundenwunsch in der entsprechenden Ausprägung, aber der Weg bis dahin wird von mir mit gestaltet, was mir sehr viel Spaß bringt. Den Kunde auf dem Weg von der Idee bis zur Realisierung zu begleiten ist großartig!

Oder die (potentiellen) Azure-Kunden… mit dem Kunden gemeinsam über seine Ideen und Visionen zu sprechen, daraus erst ein grobes Bild zeichnen, daraus eine Lösung erdenken und diese gemeinsam mit dem Kunden umzusetzen… macht mir viel Freude und ist einfach großartig.

Gestern erst war ich bei einem Kunden, der eben solche langfristigen Visionen hat, wie er sein Rechenzentrum bzw seine vorhandene (veraltete) IT-Infrastruktur aufnehmen, migrieren und dann optimieren kann… das sind Projekte die zwar herausfordernd sind, aber eben auch sehr viel Freude bereiten, weil ich genau das machen kann, was man ich mir immer gewünscht habe. Eine langfristige Zusammenarbeit mit einem gemeinsamen Ziel hin zu einer flexiblen und effizienteren Umgebung bei der viele Punkte seiner Agenda und seiner Ziele umgesetzt werden können. Am Ende steht nicht der Umsatz, sondern ein glücklicher Kunde, der seine (neue) IT besser administrieren kann.

Happy about my new job - viel Freude an der Arbeit

Oder heute… heute war ich bei einem Kunden, der eine recht komplexe Applikation in Azure erstellt hat, mit diversen unterschiedlichen Services… allein die Kombination dieser Dienste und daraus entstandene Lösung ist (aus meiner Sicht) echt gut… ABER sie wurde von Entwicklern umgesetzt und das passt leider nicht so ganz in die Ziel-Umgebung und muss „migriert“ werden, damit sie compliant ist und den Vorgaben des Unternehmens entspricht. Aber auch hier muss eben ein Schritt nach dem anderen erfolgen und der Kunde bzw seine IT-Abteilung eben erst einmal andere Projekte abschließen, damit alle Zahnräder richtig in einander greifen können. Ich kann euch sagen… sehr sehr spannend!!!

Oder meine Kollegen – wie zum Beispiel Martin Gudel – in der Microsoft Community sehr bekannt und immer für „spektakuläre“ Lösungen „berüchtigt“… in jedem Gespräch mit ihm kommen einem neue Ideen und Vorstellungen, was man wie womit umsetzen könnte oder ausprobieren möchte. Vielen Dank an Martin! „Malex“… immer ansprechbar und immer für ein Solution-Sparring bereit, kann man sich hier auch konstruktive Kritiken und Ideen verlassen, Marco Poggioli – kein Weg führt in Sachen Azure an ihm vorbei… auch hier immer wieder großartige Ideen und Vorstellungen wie man was – nicht immer innovativ dafür aber „sicher“ umsetzen kann, denn schließlich soll der Kunde mit der erdachten Solution lange arbeiten können und nicht nach kurzer Zeit sagen, dass er damit nicht mehr klar kommt.

Es bringt einfach wieder Freude jeden Morgen den Laptop einzuschalten und sich in die neuen Herausforderungen zu stürzen. Ich freue mich tierisch auf das kommende Jahr mit vielen weiteren spannenden Projekten und Kunden, die ersten Projekte stehen direkt nach dem Jahreswechsel an… 😉

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