Freitag, 24. Mai 2013

MCM SQL Server 2008

Dieser Artikel hat mal nicht mit Technik zu tun sondern soll ein wenig meine Freude zum Ausdruck bringen, die ich verspürt habe, als mich eine Email von Bob Taylor (Programm Director MCM Programm) erreichte: Ich habe den LAB-Test für die Zertifizierung zum MCM SQL Server 2008 bestanden. Der “Microsoft Certified Master” ist die höchste technische Auszeichnung, die Microsoft vergibt. Mit diesem Artikel möchte ich den langen – und endlich erfolgreichen – Weg noch einmal reflektieren; in der Hoffnung, dass meine Erfahrungen Anderen dabei helfen können, ebenfalls erfolgreich die MCM-Zertifizierung abzuschließen. Eines gleich vorweg: Wer erwartet, dass ich Hinweise auf Fragen, Lösungen und/oder Lösungswege gebe, den muss ich enttäuschen. Mit der Anmeldung zur MCM-Zertifizierung habe ich gleichzeitig ein NDA (Non Disclosure Agreement) akzeptiert, dass jegliche Weitergabe von Informationen über Fragen oder Lösungen untersagt.

Was ist das MCM-Programm von Microsoft

Die “Microsoft Certified Masters” Zertifizierung ist die höchste technische Auszeichnung, die von Microsoft produktspezifisch vergeben wird – alle Details zu diesem Programm können auf den Webseiten zur MCM-Zertifizierung nachgelesen werden.

MCM Certification | Microsoft Learning: http://www.microsoft.com/learning/en/us/mcm-certification.aspx#fbid=80PYcZADEIP

MCM Knowledge Exam 88-970: http://www.microsoft.com/learning/en/us/exam.aspx?ID=88-970#fbid=80PYcZADEIP

MCM Lab Exam 88-871: http://www.microsoft.com/learning/en/us/exam.aspx?ID=88-971#fbid=80PYcZADEIP

MEIN Weg zum MCM SQL Server 2008 – wie es begann

Mit dem Microsoft SQL Server kam ich zum ersten Mal 1995 in Kontakt als ich die Version 4.2 auf einem WINDOWS Server installieren musste. Erst 1998 sollte jedoch der Punkt erreicht sein, an dem ich mich entschlossen habe, meine erste dateibasierte Anwendung auf eine serverbasierte Datenbankanwendung umzustellen. Also wurde SQL Server 6.0 installiert und die – lange – Reise mit SQL Server nahm langsam Fahrt auf. Die ersten Schritte waren natürlich sehr holprig aber ich konnte mich zum ersten Mal intensiver mit der Programmsprache T-SQL etwas näher beschäftigen. Als ich endlich dahinter gekommen bin, welche Vorteile die serverseitige Verarbeitung von SQL Befehlen bietet, war mir klar; diesen Weg möchte ich auf jeden Fall weiter gehen.

Im Jahre 1999 erhielten wir dann einen Auftrag für die Programmierung einer Mitgliederverwaltung – das ganze auf einer performanten Datenbankumgebung und auf zwei Standorte verteilt. Wenn ich heute daran zurück denke, welche Hürden wir damals nehmen mussten und wie viele Stunden “Lehrgeld” wir bezahlen mussten, komme ich nicht umhin ein wenig zu lächeln. Replikation? Was ist das? Welche Voraussetzungen für eine Mergereplikation gelten, konnten wir erst dann erkennen, als das ganze System beim ersten Versuch “um die Ohren” geflogen ist und unsere Arbeit von 1,5 Jahren in wenigen Augenblicken wertlos war – weitere 3 Monate Tag- und Nachtarbeit waren notwendig, um das System replikationsfähig zu machen. Letztendlich hatten wir das System 2001 endlich beendet und nach kurzer Zeit haben wir das System in vier weitere Länder verkaufen und installieren können. Die Erfahrungen, die ich mit diesem Projekt gemacht habe, hat mich dann dazu veranlasst, das erste Mal über die möglichen Zertifizierungen für Microsoft SQL Server nachzudenken – im Dezember 2001 habe ich dann ohne weitere Vorbereitungen den Test “Designing and Implementing Databases with Microsoft SQL Server 2000 Enterprise Edition” mit über 900 Punkten bestanden.

Nachdem ich so viel Erfahrungen durch dieses Projekt sammeln konnte, habe ich auch relativ kurzfristig entschieden, das System zu optimieren – das erste Mal, dass ich mich intensiver um Datenstrukturen kümmern sollte. Dieses System wird heute noch von mir intensiv betreut und ich liebäugele immer wieder mit einer Version 3.0 – aber dazu fehlt mir leider derzeit auf Grund meiner Beratertätigkeiten die Zeit.

Bis 2008 habe ich SQL Server ausschließlich aus der eingeschränkten Sicht eines Programmierers gesehen.

  • Optimierung von TempDB?
  • Warum Ausführungspläne analysieren?
  • Was bedeutet IO für meine Abfragen?
  • Wie kann ich ein System durch geschickte Anwendung von Views / Stored Procedures nicht nur effizient sondern auch sicher machen?
  • Wie kann ich sensible Daten verschlüsseln?

Alle diese Fragen haben mich aus Sicht eines Anwendungsentwicklers eigentlich NIE wirklich interessiert – nein falsch… – aus Zeitgründen konnte ich mich nicht wirklich intensiv mit vielen dieser hoch komplexen Themen auseinander setzen. Aus heutiger Sicht würde ich sagen, dass mein CRM-Programm noch deutlich besser laufen würde, wenn ich mich schon damals intensiv mit diesem Fragen auseinander gesetzt hätte. Aber zur damaligen Zeit konnte ich das Potential von Microsoft SQL Server noch nicht abschätzen.

Im Jahre 2008 jedoch kam eine neue – große – Herausforderung auf mich zu; ich wurde für den 3rd Level Support der Deutschen Bank in Frankfurt  als Kandidat ausgewählt, da ich langjährige Erfahrungen mit SQL Server besaß – nur kaum administrative Erfahrungen. Mein Teamlead ist ein sehr erfahrender Microsoft SQL Server dba; für mich waren ca. 75% der Tätigkeiten komplettes Neuland:

  • Hochverfügbarkeitslösungen mittels Mirroring und Log Shipping
  • Backupstrategien für möglichst kurze RTO
  • Sicherheitskonfiguration von Datenbanken / SQL Agent / SQL Engine
  • Berechtigungskonzept für den Zugriff auf Netzwerkressourcen durch Datenbankuser
  • Implementierung von zertifikatskontrollierten Prozedurzugriffen

Anfangs fühlte ich mich stark überfordert aber mit jedem Tag wurde ich sicherer in der Anwendung, da ich die Systeme besser verstand – mit jedem Tag wurde mir auch bewusster, dass ich nur einen winzigen Bruchteil der technischen Möglichkeiten von SQL Server kannte. Was für ein Dilemma – aber sehr hilfreich. Im Gegenteil zu meinen Kollegen hatte ich jedoch in anderer Hinsicht einen sehr großen Vorteil – ich kannte mich blind in der Programmiersprache des SQL Servers aus: T-SQL. Dadurch haben wir uns im Team perfekt ergänzt.

Je sicherer ich als dba wurde, um so mehr musste ich feststellen, dass die meisten Programmierer wie ich waren – einzig fokussiert auf ihre Anwendung fehlte jeglicher Blick auf zentrale Funktionalitäten des SQL Servers, die für einen Entwicklungserfolg – insbesondere für einen Rechenzentrumsbetrieb – unerlässlich sind. Wenn ich heute Codes sehe, die Entwickler in Produktionsumgebungen implementiert haben möchten, kann ich nur mit dem Kopf schütteln (das aber nicht “hochnäsig” sondern weil ich sehr genau weiß, dass ich es “früher” genau so gemacht hätte!).

Im Jahre 2009 kam dann zum ersten mal ein “MCM” ins Gespräch. Dieses Thema brachte mein Teamlead in der Deutschen Bank zur Sprache und dass es hohe Hürden und Kosten gäbe, diese Zertifizierung zu erlangen. Gesagt – getan; als ich gesehen habe, dass die Zertifizierung ein 3-wöchiges Boot Camp bei Microsoft erforderlich macht, war für mich diese Zertifizierung zunächst einmal “ad acta” gelegt.  Dennoch habe ich für mich beschlossen, mein Wissen erneut durch die Zertifizierungen zu bestätigen. Da für den MCM grundsätzlich Prüfungen zum MCITP erforderlich waren, förderte das meine Entscheidungen. Zwischen 2009 und 2011 habe ich dann alle erforderlichen Zertifizierungen zum MCITP – Database Administrator 2008 und MCITP – Database Developer 2008 erreicht – bis auf eine Zertifizierung (mit 700 Punkten bestanden- puh!) waren alle Ergebnisse jenseits der 850 Punkte. Ein gutes Gefühl – zeigte es mir, dass ich mit der Materie “SQL Server” sehr gut vertraut war.

Zwischenzeitlich hat Microsoft auch das MCM Programm geändert – es war nicht mehr notwendig, das Boot Camp in Redmont zu absolvieren. Vielmehr stellte Microsoft nun den möglichen Kandidaten die Option zur Verfügung, ausschließlich die erforderlichen Tests zu absolvieren. Einzige Hürde war die vorherige – bereits oben genannte – Zertifizierung als MCITP in beiden genannten Bereichen. Im September 2011 sollte es dann losgehen – ich habe mich für den zunächst zu absolvierenden Knowlegetest 88-970 bei Prometric angemeldet. Einziger Wermutstropfen- der später noch ein einziges Desaster werden sollte, aber davon später mehr – war der Ort für die Prüfung; alle MCM-Prüfungen konnten nur im Prometric-Testcenter in Berlin abgenommen werden. Also wurde das Ticket gekauft und ab ging es nach Berlin.

Mit dem gesunden Selbstvertrauen durch die bisherigen Tests ging ich – vollkommen von mir und meinem Wissen überzeugt – in die Prüfung und… – habe voll versagt: 56%. Während des Tests ist mein Selbstvertrauen mit jeder weiteren Frage immer mehr in den Keller gerauscht; ich habe plötzlich gemerkt, dass das MCM-Programm ein ganz anderes Kaliber ist als alles bisher da gewesene. Es wurden Themen behandelt, von denen ich noch nicht einmal gelesen hatte; geschweige denn, in meiner täglichen Arbeit auch nur einmal zu Gesicht bekommen hätte. Als ich das Testcenter verlassen habe, bin ich den ganzen Weg zurück zum Bahnhof in Gedanken versunken gewesen und war erschrocken über die unglaublichen Möglichkeiten, die SQL Server bisher vor mir verborgen hatte. Ich war geschockt über mein spärliches Wissen über SQL Server – ich konnte mir einfach nicht vorstellen, dass es noch so viele Dinge in SQL Server gab, die Grundlagenwissen sein müssen, um ein MCM zu sein.

Mit dem Wissen darüber, dass ich so wenig wusste, war mir aber in diesem Moment klar, dass ich diesen Weg weiter gehen wollte – aber nicht mehr nur um des Titels “MCM SQL Server” willens sondern weil ich durch die Fragen auf Möglichkeiten von SQL Server aufmerksam gemacht wurde, die ich unbedingt intensiver erforschen wollte. Also begann ich nun, diesen Weg “seriöser” zu sehen – das wird kein Spaziergang, wie bisher; hier ist wirklich tiefes und echtes Verständnis für das Produkt gefragt. Ich fing also an, mich etwas genauer im Internet nach Ressourcen umzuschauen, die für die MCM-Prüfungen relevant sind. Sehr schnell stieß ich dabei auf http:///www.sqlskills.com – DIE Ressource für die MCM-Zertifizierung.

SQLSkills wird von Paul Randal und Kimberly Tripp geleitet – die Gurus im Bereich SQL Server. Paul hat DBCC CHECKDB für SQL 2005 geschrieben und BEIDE haben ein so tiefgehendes Wissen über SQL Server, dass sie in der Community wie Superstars gefeiert werden – für mich ist insbesondere Kimberly Tripp mit ihrer Passion für Indexoptimierung immer wieder beeindruckend.

Gleich am nächsten Tag habe ich mich erneut für den Knowledgetest angemeldet; ich kann nur unter Druck arbeiten. Da jedoch nach jedem “Fail” mindestens 90 Tage vergangen sein müssen, hatte ich also noch knapp 3 Monate, mich intensiv auf Test vorzubereiten. Ich deckte mich also mit Literatur ein (z. B. Kalen Delany) und begann -  basierend auf dem Fragenkatalog des Tests – die Materie genauer unter die Lupe zu nehmen. Fast jedes Wochenende ist dabei drauf gegangen, die Beispiele aus Literatur, Blogs und Internet nachzustellen und mir selbst zu erklären. Im Januar 2012 war es dann so weit – der Retake stand an. Ziemlich aufgeregt ging es also wieder nach Berlin in das Testcenter von Prometric. Diesmal gut vorbereitet ging es in die Prüfung – geschafft. Trotz intensiver Vorbereitung war ich über das Ergebnis von 760 Punkten entsetzt, hatte ich mir doch vorgestellt, wieder jenseits der 900 Punkte zu landen weil ich doch so gut vorbereitet war.

Das Ziel MCM vor Augen habe ich mich noch am gleichen Tag für den letzten Test angemeldet – nur noch der LAB Test 88-971 stand zwischen mir und dem MCM Smiley!

Spaß beiseite – auf der Rückfahrt von Berlin war ich natürlich erst einmal froh darüber, den Knowledgetest bestanden zu haben; dennoch war auch etwas Besorgnis über die letzte Hürde vorhanden. Wenn schon der Knowledgetest so schwer war – was wird dann erst der Labtest bringen. Am nächsten Tag habe ich mich für Februar 2012 für den Labtest angemeldet; ich kann nur unter Druck arbeiten. Was ich dann erlebt habe, spottet schon fast jeder Beschreibung. Insgesamt habe ich 5 (!!!) mal den Labtest machen müssen – und das kam so:

Im Februar 2012 hatte ich den ersten Versuch gestartet – äh, starten wollen! Um 10:30 ging es los. Ich bin um 5:13 mit dem Zug nach Berlin gefahren und war gegen 10:15 im Testcenter. Zunächst werden ALLE persönlichen Dinge in Empfang genommen und in einem Schließfach deponiert. Außer einem Personalausweis und einem weiteren Identifikationsdokument (z. B. Führerschein) durften keine weiteren Utensilien mehr “am Körper” sein. Anschließend wurden noch die Fingerabdrücke zur CIA übertragen und dann konnte es schon losgehen.

MCM Lab – 1. Versuch

Um 10:30 ging es los und um 11:00 war es schon wieder vorbei (na ja – fast). Die Internetverbindung ist zusammen gebrochen und anschließend konnte das System nicht mehr zum “Virtual Lab” verbinden. Die Mitarbeiter im Prometric Testcenter führten einen Restart durch; mit dem Ergebnis, dass ich mich überhaupt nicht mehr anmelden konnte und KEIN Test für mich hinterlegt war. War ja klar, der lief ja im Hintergrund immer noch weiter! Also wurde der Support in den Niederlanden konsultiert. Das Ergebnis war ein erneuter Versuch gegen 13:30. Da der Test insgesamt 5:20 Minuten geht, wurde natürlich mein Zeitplan durcheinander gewürfelt. Da mein Zug um 18:10 wieder zurück nach Frankfurt ging, musste ich mich also beeilen. Ich konnte mich eigentlich nicht mehr wirklich auf den Test konzentrieren, da die Unterbrechung dazu geführt hatte, dass ich unterschwellig immer nur zwei Dinge im Kopf hatte; “schaffe ich noch den Zug” und “hoffentlich gibt es keine weiteren technischen Probleme mehr”. Dieser Versuch endete dann mit 27% – durchgefallen. Auf Grund der technischen Probleme konnte ich aber den Versuch ohne weitere Kosten wiederholen. Das ich aber einen Verdienstausfall hatte; Kosten für die Anreise hatte; … – wurde nicht weiter beachtet. Egal – ich war froh, dass ich den Test noch einmal wiederholen konnte.

MCM Lab – 2. Versuch

Im April 2012 war es dann so weit – ich habe mich für den zweiten Versuch wieder auf den Weg nach Berlin gemacht. Nachdem der Empfang reibungslos geklappt hatte, ging es gleich in den Testraum und los ging es… – für 30 Minuten; danach wieder Exitus und die Prüfung konnte beendet werden. Ich konnte es kaum glauben – da hat man bereits Erfahrungen gemacht und dann genau das gleiche Problem erneut. Da um 14:30 das Problem immer noch nicht gelöst war, bin ich kurzerhand ohne Prüfung wieder nach Hause gefahren. Toll!

MCM Lab – 3. Versuch

Im September 2012 wurde dann der dritte Versuch gestartet. Diesmal war ich so klug und bin am Sonntag nach Berlin gereist, um morgens gleich um 09:00 Uhr zu beginnen. Falls dann wieder ein Problem auftaucht, hätte ich 1:30 als “Puffer”. Hätte ich das mal bloß nicht gemacht. Erneut Abbruch und bis 12:00 Uhr noch keine Lösung. Anschließend der zweite Start und gleich bei der ersten Aufgabe ging der Wechsel zwischen Virtual Lab und Aufgabenliste nicht mehr – ehrlich, jetzt war ich den Tränen nah und nach ewigem Hin und Herr habe ich es – irgendwie – bis zum Ende geschafft. Da jedoch auch hier ein echtes konzentriertes Arbeiten nicht mehr möglich war, grandios gescheitert. Die Email von Bob Taylor erreichte mich am 04.01.2013 im Urlaub. Frohes Neues Jahr, Uwe.

MCM Lab – 4. Versuch

Falls Prometric nun meint, der Ricken gibt endlich auf, haben sie sich vertan. Gleich nach dem Urlaub wollte ich mich erneut anmelden (einmal muss es doch klappen) und war sehr überrascht, dass der LAB Test nicht mehr von Prometric angeboten wird. Eine kurze EMailkorrespondenz mit Bob Taylor von Microsoft brachte Klarheit in die Sache – der LAB-Test kann nur noch direkt gemacht werden. Das bedeutet, dass ich selbst verantwortlich bin, dass meine Hardware, Software und Internetverbindung funktioniert. Damit wird die Verantwortung auf den Kandidaten abgewälzt. Ich habe es dennoch gewagt und die Prüfung aus den Büroräumen eines meiner Kunden mit dessen Genehmigung gemacht. Da ich dort eine DSL-Anbindung von 16 MB hatte, sollte alles gut gehen. So war es dann auch – endlich dann zum ersten Mal den Test OHNEN jegliche Probleme von A – Z durchgeführt und… – leider gescheitert. Die Email von Bob hatte mich im März dieses Jahres erreicht: Ergebnis 54%.

Da dieses Mal die Technik einwandfrei funktioniert hatte, gab es nichts zu entschuldigen. Ich habe bereits bei der Bearbeitung der Aufgaben gemerkt, dass einige Tasks dabei sind, die ich selbst noch nie durchgeführt habe. So sind dann auch einige Tasks letztendlich vollständig falsch von mir implementiert worden. Diesmal war ich selbst voll und ganz für das Ergebnis verantwortlich und das Ergebnis war von mir fast schon erwartet worden. War doch schon der Knowledgetest eine echte Herausforderung so war der LAB Test noch einmal um einige Stufen komplizierter. Dazu aber mehr im zweiten Teil.

MCM Lab – 5. Versuch

Erfreulich war, dass der vierte Versuch technisch ohne Probleme lief – wirklich KEINE Probleme und keine Abbrüche. Ich war beruhigt und konnte mich während der nächsten 30 Tage in aller Ruhe auf die Defizite konzentrieren, die es galt, abzuarbeiten. Es verging KEIN Tag, an dem ich nicht mindestens für eine Stunde intensiv gelernt habe und jedes Wochenende wurde das fehlende Wissen vervollständigt. Es war eine heftige Zeit aber so kurz vor dem Ziel wollte ich nicht aufgeben. Also wurde gleich nach der Email Kontakt zu Microsoft aufgenommen und der nächste Termin geplant – der 21.05.2013. Am Tag der Prüfung war die Anspannung natürlich sehr groß. Ich bin bereits um 3:40 auf Grund von “seniler Bettflucht”  aus dem Schlafzimmer geflüchtet und habe nach einem Kaffee noch einmal ein paar Topics durchgelesen. Um 6:00 Uhr war ich dann schon beim Kunden um meiner Arbeit nachzugehen. Gegen 14:30 überkam mich dann bereits der erste Müdigkeitsschub – egal; schnell einen Espresso und weiter…

Um 17:00 Uhr war es dann so weit und mein “Proctor” war bereit, mit mir die Videosession zu starten. Um 17:20 ging es dann los und die nächsten 5:20 vergingen “wie im Flug”. Nee – natürlich nicht. Die Müdigkeit war von jetzt auf gleich wie verflogen und der Test begann. Dieses Mal habe ich deutlich gemerkt, dass ich PERFEKT vorbereitet war. Es gab zwar immer noch Punkte, bei denen ich einfach nicht wusste, wie ich es implementieren kann/soll aber bei den meisten Aufgaben war ich “innerlich ruhig” und “sicher”. Ich bin mit – zum ersten Mal – mit einem guten Gefühl um 23:15 aus der Prüfung. Nach einer freundlichen Verabschiedung durch die Aufsichtsperson ging es – dann – vollkommen übermüdet nach Hause. Während der Prüfung habe ich überhaupt nicht gemerkt, wie angespannt ich war. Das hat sich erst nach der Prüfung bemerkbar gemacht. Kopfschmerzen und Müdigkeit waren das Ergebnis eines – im Nachhinein – erfolgreichen Tages.

Heute habe ich um 18:00 Uhr die Email mit dem Ergebnis von Bob Taylor erhalten – auf Grund der obigen Odyssee sicherlich verständlich – und bin wie ein kleines Kind durch das Haus “getanzt”. Meine Kinder haben nur gelacht, weil sie nicht glauben konnten, dass sich Papa noch so freuen kann.

Seit heute ist es amtlich – Uwe Ricken darf sich “MCM SQL Server 2008” nennen; einer von aktuell 6 MCM SQL Server 2008 in Deutschland (Stand 24.05.2013).
Neben Andreas Wolter von SARPEDON Quality Lab bin ich derzeit der einzige von Microsoft unabhängige MCM SQL Server 2008 in Deutschland.

Herzlichen Dank für’s Lesen

Kommentare :

  1. Uwe,

    Wow - I see why they stopped using prometric! That's terrible that you had to go through that so many times, but it all worked out in the end with your perseverance!

    Congratulations Uwe, you did it!

    -Sean

    AntwortenLöschen
  2. Dear Sean,

    thank you so much for your comment. Yeah, that was a really hard job but now I'm only happy that I've passed it. I'm glad to read from you in msdn and asap in MCM Lounge :)

    Bye and good luck to you...
    Uwe

    AntwortenLöschen
  3. Spannende Geschichte, man merkt das hier Herzblut dahintersteckt!
    Ich habe eine ähnliche Vorgeschichte und stehe nun auch am Anfang meiner längst überfälligen Zertifizierungslaufbahn. Mal sehen wie weit ich es schaffe und vor allem in welcher Zeit und mit wie vielen Anläufen :-)

    Viel Erfolg bei der Konferenz und
    schöne Grüße aus Salzburg, AT

    AntwortenLöschen