Upcoming Conferences 2013 – die nächsten SQL Server Konferenzen dieses Jahr

Das Jahr 2013 dürfte das bislang am meisten mit Konferenzen durchsetzte Jahr für mich sein. Das liegt nicht zuletzt an den SQLSaturdays, die mittlerweile fest in der SQL Server-Welt etabliert sind, und mit ihrem kostenlosen aber dennoch, durch viele bekannte Experten, hochwertigen Charakter immer mehr Interessenten anziehen.

So ist dann auch die nächste Konferenz diesen Sommer in Deutschland der SQLSaturday #230 am 13.Juli in St. Augustin bei Bonn – der 2. deutsche SQLSaturday!

- Diesmal darf ich wieder einmal mein Spezialgebiet, Sicherheit, aufgreifen. In der Session „SQL Server under Attack – Angriffsszenarien“ gehe ich SQL Server an den Kragen und zeige auch einige unbekanntere Schwachpunkte, aus denen hoffentlich hervorgeht, warum „Best Practices“ das Mindeste sein sollten.

- Letztes Jahr hatte ich in Unterschleißheim bei München auf dem SQLSaturday #170 die Extended Events als Nachfolger von SQL Trace & Profiler vorgestellt („Tracing with SQL Server 2012 Extended Events“ )

Außerdem gibt es dieses Mal sogar eine Precon mit 3 parallelen Workshop-Tracks. Wer sich noch nicht mit dem Nachfolger von SQL Trace/Profiler auseinandergesetzt hat, bekommt in der Session „From SQL Traces to Extended Events. The next big switch.“ einen Überblick über die bisherigen Monitoring Tools wie SQL Trace und Event Notifications, bis hin zu einem halben Tag input in Sachen Extended Events! Mehr dazu hier: http://sqlsaturday230.eventbrite.de


Am 24. September findet in Mainz die BASTA mit dem SQLday statt.

- Dort spreche ich - wer hätte das gedacht -  auch über Sicherheit. Diesmal vor allem für Entwickler: Security Essentials und Best Practices für SQL-Server-Entwickler

 

Im Oktober (15.-18.10.) folgt der Höhepunkt mit dem PASS Summit 2013, dieses Jahr in Charlotte, NC USA, der größten SQL Server Konferenz überhaupt, wo ich die wiederholte Ehre, als einziger deutscher Sprecher auftreten zu dürfen, habe. (einen gewissen Stolz hierüber will ich gar nicht leugnen)

UPDATE: Wie ich gerade erfahren habe, sind meine Kollegen Oliver Engels und Julian Breunung von der PASS RG Rhein/Main nachträglich als Sprecher eingeladen! Superb! - Der alljährliche "Steak-Abend" mit den deutschen Kollegen ist gewiss. :-)

Und zwar mit dem Thema: From Locks to No Locks – Concurrency in SQL Server

- Mit einer kleinen Variante dieses Vortrages war ich dieses Jahr bereits in mehreren deutschen Regionalgruppen auf “Rundtour”.

 

Vorankündigung:
Die nächste Runde der SQL Server Master-Classes mit spannenden ein- bis zweit-tägigen intensiven Trainings & Workshops mit Themen von Extended Events über Indexing bis Hochverfügbarkeit plane ich für November 2013.

Stay tuned unter: www.sarpedonqualitylab.com/SQL_Master-Classes.htm

 

Vom 3. -5. Dezember bin ich dann auch wieder auf dem PASS Camp im Lufthansa Conference Center in Seeheim bei Darmstadt.

Das Besondere an diesem Event, das rein von der deutschen PASS e.V. veranstaltet wird, ist sein „Hands-On“-Konzept. D.h. alle Themen beinhalten praktische Übungen, die von den Sprechern begleitet werden. Im Gegensatz zu den amerikanischen „Workshops“ also kein „lecture-only“. Ein absoluter Tipp für SQL Server Profis und solchen, die tiefer in die Materie eintauchen möchten.

Mit dem
SQLzaterdag #221 in Veenedal/Holland: „Tracing with Extended Events. – Adios Profiler


dem
SQLSaturday #196 in Kopenhagen/Dänemark, ebenfalls mit „Tracing with Extended Events. - Adios Profiler

und den Frankfurter Datenbanktagen, bei denen ich in buchstäblich letzter Minute mit dem Thema Hochverfügbarkeitstechniken in SQL Server 2013 eingesprungen bin (mehr dazu hier: Conferences 2013: Frankfurter Datenbanktage und einige “Oracle-Momente”)
sind das – bislang - 8 Konferenzen + eine PreCon, auf denen ich dieses Jahr als Sprecher aufgetreten sein werde. (!)

– Bislang? - Vielleicht schaffe ich ja noch die SQLRally Nordic, die dieses Jahr vom 4.-6. November in Stockholm stattfindet :-). Mein Eindruck der SQL Rally letztes Jahr - mit dem Thema Sicherheit in SQL Server dabei - war jedenfalls überaus positiv. (Upcoming Conferences 2012: PASS SQLSaturday in Munich, SQLCon in Mainz, PASS SQLRally in Copenhagen, PASS Summit in Seattle, PASS Camp in Darmstadt)

Ich würde mich freuen, einige meiner Leser auf der einen oder anderen Konferenz anzutreffen – einfach „Hallo“ sagen ;-)

CU in St. Augustin, Mainz, Charlotte USA, Seeheim, oder auf einem Regionalgruppentreffen

 

- Ach ja, und nächste Woche, vom 25. bis zum 28. Juni bin ich auf der TechEd Europe in Madrid am Microsoft-Stand anzutreffen.


Andreas

 

Extended Event File Target size vs SQL Server Trace trace file - a comparison

No big science, more out of curiosity this time..

The Extended Events File Target for SQL Server saves data using xml, which as is well known, is a bit “chatty”. A student in my recent SQL Server Master-Class workshop on extended events came up with the question for how much (more) space he would have to account for using Extended Events with a file target. Although this depends greatly on the specific events and possibly actions, selected, I was a bit curious myself and decided for a small test.

Both, the old and deprecated SQL Server Trace and Extended Events can save the data in a file, so it’s easy to compare what difference in size the new format will make.

I set up a SQL Server Trace that is almost identical to an Extended Events Trace. (You will see why “almost”.)

I had to choose a very simple Trace, so the customizable columns of extended events would not make the comparison unequal and ended up with a trace that captures SP:Starting/SP:Completed with the following columns:

You will see why I collect Source/DatabaseID twice later on.
Of course I used a lightweight Server-Trace, although for the purpose of this comparison it would not have mattered.

The SQL Trace definition:

exec sp_trace_setevent@TraceID, 43, 3, @on
exec
sp_trace_setevent@TraceID, 43, 5, @on
exec
sp_trace_setevent@TraceID, 43, 12, @on
exec
sp_trace_setevent@TraceID, 43, 13, @on
exec
sp_trace_setevent@TraceID, 43, 22, @on
exec
sp_trace_setevent@TraceID, 43, 28, @on
exec
sp_trace_setevent@TraceID, 43, 34, @on
exec
sp_trace_setevent@TraceID, 43, 48, @on
exec
sp_trace_setevent@TraceID, 43, 62, @on
exec
sp_trace_setevent@TraceID, 42, 3, @on
exec
sp_trace_setevent@TraceID, 42, 5, @on
exec
sp_trace_setevent@TraceID, 42, 12, @on
exec
sp_trace_setevent@TraceID, 42, 22, @on
exec
sp_trace_setevent@TraceID, 42, 28, @on
exec
sp_trace_setevent@TraceID, 42, 34, @on
exec
sp_trace_setevent@TraceID, 42, 62, @on 

declare @intfilter int
declare
@bigintfilter bigint

 set @intfilter = 7

exec sp_trace_setfilter@TraceID, 62, 0, 0, @intfilter

As you might see the trace includes a filter, which is for a specific database ID.

The Extended Event Trace session looks like that:

CREATE EVENT SESSION [ModulesStartEnd_ToFile]
ON
SERVER
ADD
EVENT sqlserver.module_start(
    WHERE ([source_database_id]=(7))),

ADD
EVENT sqlserver.module_end(
    WHERE ([source_database_id]=(7)))

ADD
TARGET package0.event_file
   
(SET filename=N'R:\Tracing\XE\ModulesStartEnd.xel', max_file_size=(10240))
WITH
(MAX_MEMORY=
4096 KB, EVENT_RETENTION_MODE=NO_EVENT_LOSS,  MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB, MEMORY_PARTITION_MODE=NONE, TRACK_CAUSALITY=OFF, STARTUP_STATE=OFF)

You may know, that Extended Events include certain columns by default, and for module_start/end, this includes offset and offset_end.
 

Those two columns are not available for SP_Staring/SP:Completed in SQL Trace. Since they are both integers, I decided to include another column, DatabaseID, into the SQLTrace. SQL Trace also includes the SPID by default, which cannot be deselected, therefore those two columns should equalize it.
Both traces were started before the workload which ran for a while. At the end, the same number of events have been logged by both technologies in parallel.

SQL Trace event count:

XEvent Trace event count:



100644 + 100644 = 201288, so both captured the exact same events. :-)

So, and now to the final question: what size are the files?

See yourself:

Size in Megabytes:


 
(The numbers in MB are the real size, whereas windows explorer shows the size on disk.)
That’s a difference of 5.32MB or in other words 29.13%.

And this is what one single module_start-event for a function call in XEvents looks like:

<eventname="module_start"package="sqlserver"timestamp="2013-06-08T18:41:48.780Z">
<
dataname="source_database_id"><value>7</value></data>
<
dataname="object_id"><value>103671417</value></data>
<
dataname="line_number"><value>1</value></data>
<
dataname="offset"><value>0</value></data>
<
dataname="offset_end"><value>-1</value></data>
<
dataname="object_type"><value><![CDATA[TF]]></value></data>
<
dataname="object_name"><value><![CDATA[ufnGetContactInformation]]></value></data>
<dataname="statement"><value></value></data>
</
event>

The content is self-explanatory, as xml is supposed to be, and the overhead in size is no surprise at all.

Keep in mind that this post is purely on comparing file sizes, and not performance or features. There are good reasons that SQL Trace & Profiler have been deprecated, and Extended Events in SQL Server 2012 overcomes SQL Trace & Profiler by far, in performance as well as in flexibility/usability.
For a performance overhead comparision check out my recently published benchmark blog post: "Performance overhead of tracing with Extended Event targets vs SQL Trace under CPU Load".

So whenever performance matters, remember to set session options appropriately and if the amount of events is high, do not use your slowest volume for the file target - same as for all other tracing activities anyways.

happy tracing,

Andreas

Umfrage zur Zertifizierung Microsoft Certified Master (MCM) / Solutions Master (MCSM), Trainingsmöglichkeiten und Interview

Diesmal geht es in meinem Blog weniger technisch zu:

Ich habe vor kurzem bei XING eine kleine Umfrage durchführen lassen, um einmal zu erfahren, warum es weltweit, aber auch insbesondere im Deutschen Raum so wenige MCMs gibt. - Speziell außerhalb von Microsoft-Angestellten selber schwankt die Anzahl je nach Produkt zwischen 0 und 6.

UPDATE 31.8.13: Das MCM/MCA Programm wird mit dem 1.10.13 eingestellt - Zertifizierungen sind damit nicht mehr möglich! - Mehr dazu hier: Microsoft Certified Master & Architect (MCM & MCA) – Das Ende der Advanced Certification. – Und ein geplanter Neubeginn?

Die offiziellen Zahlen für Deutschland Ende Mai 2013 wie folgt - vornean die Gesamtzahl, in Klammern die Anzahl der MCMs davon, die nicht direkt für Microsoft arbeiten:

0 (0) Windows Advanced Infrastructure (hier gibt es gleich keine MCMs in Deutschland, aber weltweit auch nur 16)
5 (4) Windows Server Directory
9 (3) SQL Server                         
9 (6) SharePoint
7 (4) Microsoft Office Communications Server and Lync Server 2010
12 (5) Microsoft Exchange Server

(Quelle: www.microsoft.com/learning/en/us/mcm-certification.aspx - Hinweis, diese Quelle erhebt keinen Anspruch auf Vollständigkeit, ist aber die beste, die es gibt und kann daher gut für einen Vergleich herangezogen werden. Des weiteren möchte ich mich schon vorsorglich dafür entschuldigen, falls der Link nicht funktioniert: Diese Liste ist in den letzten 18 Monaten bereits 2 mal umgezogen, und nicht immer bekomme ich das schnell genug mit um den Link zu updaten. Für Hinweise bin ich dankbar.)

  • seit Beginn der Umfrage sind 2 MCMs für SQL Server 2008 dazugekommen, das sind 28%, kurz vor Erscheinen der Prüfung zum MCSM 2012 :-)
  • Das heißt, dass ich nun nach einem Jahr nicht mehr der einzige von Microsoft unabhängige MCM für SQL Server in Deutschland bin, sondern "nur" noch der Erste. :-)

Was sind nun die Gründe für diese geringe Anzahl?

Ganz abgesehen davon, das mit Sicherheit die gestellten Ansprüche ein Grund sind, sind bei der Umfrage folgende Antworten Zusammengekommen:

 UmfrageErgebnisse Microsoft-Certified-Master MCM_MCSM

- Es hatten sich 54 Teilnehmer an der Umfrage beteiligt. (Die Umfrage ist nun geschlossen, da mehr als 30 Tage bei Xing nicht möglich sind: www.xing.com/app/newsfeed?op=poll_detail;id=9673)

Nun kann man dort sicherlich vieles vermuten, und ich erhebe auch nicht den Anspruch einer wissenschaftlich fundierten Analyse. Aber einige Dinge fallen doch sehr ins Auge, darum möchte ich die einzelnen Punkte frei aus meiner (persönlichen) Sicht kommentieren.

1) 59% - Zeitlicher Aufwand

- hier wäre natürlich eine Aufteilung in WAS den zeitlichen Aufwand denn ausmacht interessant gewesen. Aber eigentlich können es nur 2 Dinge sein: Die Prüfung selber. – mit 5,5 Stunden ist die Lab in der Tat zeitaufwändiger als alle anderen Prüfungen. Aber kann das so viel ausmachen?
Bleibt: Die Vorbereitung, also das Lernen der Stoffe, die man vielleicht noch nicht in hinreichender Tiefe beherrscht. Interessanterweise ist Punkt 3 (erforderliches Know-How) dafür offenbar gar nicht das Problem. …

2) 54% - Zu teuer (Prüfung)

- zugegeben, die Prüfung ist nicht „billig““.
(Für das Erreichen dieser Zertifizierung sind ja 2 Prüfungen notwendig. Ein „Knowledge-Exam“, und ein „Lab-Exam“. Die Kosten liegen bei dem ersteren bei 367,- Euro. Das Lab-Exam ist das teurere, mit 2000 USD, was z. Z. rund 1550 EUR entspricht. Damit liegen die gesamt-Prüfungskosten also unter 2000 Euro. :-) )
PS: Möglicherweise ist das bei den Nicht-SQL Zertifizierungen etwas anders. Dabei sind mir Details nicht bekannt.

Insofern also die Frage unter Experten (Nicht Generalisten, da gelten sicherlich andere Regeln): können 2000 Euro so abschreckend viel sein?
Um mal aus dem Nähkästchen zu plaudern, was ich in meine Fortbildung investiere:
Ich bin jedes Jahr in den USA auf der großen SQL Server Konferenz. Ich bin zwar bekanntermaßen dort i.d.R. als Sprecher geladen, aber natürlich sind die Reisekosten nicht unerheblich. Den sogenannten „Verdienstausfall“ spreche ich jetzt nicht weiter an, denn das gilt für jegliche Fortbildung. Und ohne Fortbildung bleibt man stehen. - Das muss man sich einfach Wert sein.
Dazu kommen mindestens 2-3 weiteren Konferenzen, die dann noch so in Europa stattfinden und wo ich auch spreche. Für Vorträge muss man sich vorbereiten und im Zweifelsfall auch lernen. Selbiges gilt, wenn ich Schulungen gebe, ganz gleich welcher Art. Da kommen also schon einige tausend Euro zusammen.

Aber wie gesagt, diese Zertifizierung spricht auch eher Experten an, und da gehe ich davon aus, das das keine Summe ist, für die man lange sparen muss. Und wenn doch, dann wäre das eine Gelegenheit, einen höheren Stundensatz zu verhandeln, denn wer mehr weiß, ist im Zweifelsfall auch effizienter und spart seinem Kunden am Ende Zeit und Geld :)
Und spätestens bei wirklich komplexen Problemen geht man entweder an Microsoft CSS, oder eben einen unabhängigen MCM.

Aber das ist nur meine persönliche Einstellung dazu. Da die Prüfung kein Schnäppchen ist, ist ein kurzer Familienurlaub anstelle doch ein Argument.

3) 17% - Zu breites Know-How erforderlich

- so ist das letztlich auch gedacht :-)
Obwohl diese Zahl schon fast verdächtig gering erscheint, wenn man sich dann mal die Durchfallquote von 80% bei der Lab zum MCM ansieht. Aber "Durchfallen" tun ja immer die anderen, oder diverse Umstände sind schuld. ;-)
Nun zu Denjenigen, die hier ehrlich geantwortet haben:

- Mehr auf das Thema „Know-How“ gehe ich noch unter den Punkten 8 und 9 ein.
Hier nur so viel: diese Zertifizierung ist naturgemäß nicht für jeden, z.B. Generalisten geeignet. -
Ein guter Hinweis, ob man auf dem richtigen Pfad ist, sollte das Knowledge-Examen geben, welches im Multiple-choice Format aufgebaut ist, und einen Vorgeschmack auf die Komplexität der Lab geben kann. Wenn dieses
zu meistern schon eine Herausforderung ist, dann macht das Lab-Examen kurzfristig noch wenig Sinn, denn das ist dann nochmal ein gutes Stück angezogen und sollte selber nicht als Übung herhalten. Das Knowledge-Examen selbst im ersten Anlauf zu bestehen, sagt noch gar Nichts. Sorry, liebe Kollegen ;-). – Die echte Praxis macht den Unterschied. Dann kann man auch beide relativ flink bestehen. :-)

4) 48% - Kein finanzieller Nutzen

- Das kann man gelten lassen, da man seinen Stundensatz nicht unbedingt mal eben anheben kann und sollte. Die Frage ist vielleicht: sollte das DER Grund sein für die Zertifizierung?

Für mich persönlich ist eine Zertifizierung vielmehr ein guter Grund, sich Zeit nehmen zu müssen, sich also zu disziplinieren, um Dinge zu lernen, die man bisher entweder gar nicht kannte, oder noch nicht benötigt hat. Immer mit dem Zweck, am Ende aus einer möglichst großen Bandbreite an Techniken schöpfen zu können, wieder ein wenig mehr zu wissen. Vorwärtskommen also.

Ich möchte an dieser Stelle auch einmal darauf hinweisen, dass die meisten MCMs direkt von Microsoft kommen, und dort auf Firmenkosten geschult werden. Das hängt sicherlich nicht mit den Consulting-Preisen zusammen, sondern schlicht und einfach mit den für Ihre Arbeit nötigen tiefen Kenntnissen der Materie - wie man sie als MCM eben erwiesenermaßen hat.

5) 30% - Kein Anwendungsbedarf für das erforderliche Know-How

- Ja, auch das kann ein Grund sein. Wenn man vornehmlich in relativ langfristigen Projekten arbeitet, oder auch schlicht keine sonderlich anspruchsvolle / komplexe Umgebung zu verwalten hat, wird man weder das breite Wissen schon erworben haben (können), noch es jemals benötigen.
Es ist auch nicht jedermanns Sache, sich den größten Teil der Zeit mit komplexen oder tiefer liegenden Problemen herumzuschlagen (Ok, meine schon - schuldig im Sinne der Anklage :-) )

6) 17% - Fehlendes Trainingsangebot

- Das ist ein von offenbar wenigen als wichtig erachteter Punkt. Dennoch eine kurze Ausführung:
Was für Schulungen gibt es für den Erwerb des MCTS/MCITP, neu MCSA/MCSE?
Es gibt die sogenannten MOC-Kurse, in der Vergangenheit zu Recht wegen fehlendem Praxisbezug und auch Fehlerhaftigkeit bemängelt. Um einen solchen zu geben, muss man im Wesentlichen ein MCT (Microsoft Certified Trainer) sein, und auch auf dem Produkt, also z.B. SQL Server ITPro -Level zertifiziert sein. (Das sich viele nicht an diesen Mindeststandard gehalten haben, hat meines Erachtens viel zu dem schlechten Ruf der MOC-Kurse beigetragen – am Ende musste man auch wissen, welcher Schulungsanbieter welche Trainer einsetzt)
Dann gab es schon immer ein mannigfaltiges Schulungsangebot auf dem freien Markt. Denn letztlich ist für das Bestehen der Microsoft-Examen nur das Know-How erforderlich, nicht der Nachweis einer bestimmten Schulung (wie es beispielsweise bei Informatica der Fall ist)

Wie ist das nun beim MCM/MCSM?
Nun, auch da kommt es letztlich nur auf das Know-How an. Zwar ist die Durchfallquote bei der Lab mit 80% sehr hoch, aber schon beim zweiten Versuch schaffen es rund 50% - das weiß ich aus Gesprächen mit den damaligen Manager des Master-Programmes.

UPDATE: Seit Juni 2013 sind nun für sämtliche MCSM-Zertifizierungen keine Trainings mehr erforderlich. (Link zu Technet-Blog-Post) Bisher galt das ja nur für SQL Server - für Sharepoint z.B. musste man zwingend nach Redmond, wie ich auch erst später erfahren habe.

Und welches Trainingsangebot gibt es nun also, wenn man sich in einzelnen Technologien noch verbessern möchte? Zu Beginn bot Microsoft Schulungen direkt auf dem Campus an. Aufgrund von Qualitätsproblemen (! – Ja, richtig gehört. Brent Ozar schreibt hierüber recht anschaulich in seinem Blog Post: www.brentozar.com/archive/2010/04/sql-mcm-now-bad-stuff/ ) wurde das dann jedoch ausgelagert und letztlich darf jeder Schulungen mit dem Ziel „Master“ durchführen. (Aktuell sickern Informationen durch, dass es eine Neuauflage von Bootcamps in Redmond geben wird)
In den USA gibt es derzeit 2 mir bekannte Anbieter (SQLSkills: www.sqlskills.com und SQL Internals: www.sqlserverinternals.com )
Da Paul Randall von SQLSkills der ehemaliger Leiter des Microsoft-internen Vorläufers des SQL Server Master-Programms ist, und durch seine Arbeit an DBCC CHECKDB über detailliertes Know-How und internes Wissen über die Engine verfügt, habe ich mir selber alle 4 Wochen Training bei Redmond mit ihm gegönnt (In allen Bereiche von SQL Server Internas, Performance und Tuning, Hochverfügbarkeit, Disaster Recovery, und Programmierung von Geospatial über Service Broker bis Security). Einfach, um auch noch das letzte an Know-How erlangen zu können, welches sich nicht über Blogs und Bücher erlangen lässt. – Bei solchen Trainings lernt man eben auch, was man vorher noch nicht wusste, wonach man überhaupt suchen könnte, und Dinge, die in keinem Blog stehen.
- Leider ist aber konzeptbedingt das meiste inhaltlich Nichts, was man als MCITPro/MCSE nicht ohnehin schon wissen sollte.

War das notwendig für die Prüfungen? – Nein, absolut nicht. Das ist nur persönlicher Ehrgeiz und Anspruch – sowie einfach Spaß am Lernen und Wissen erlangen :-)
Dazu kommt natürlich auch das Networking mit den Kollegen in den USA. Für mich war das also das Richtige zu tun, zumal ich mich auch keinem gegenüber wegen der Zeit rechtfertigen muss :-)

Wie sieht es in Deutschland aus?
Hier bietet Microsoft natürlich auch nichts an.
Ich darf aber auf mein eigenes Trainingsangebot hinweisen. Als MCT und MCM führe ich seit diesem Frühjahr die SQL Server Master-Classes durch. Die erste Runde (Extended Events sogar 2mal) wird im Juni beendet sein. Die nächsten Termine werden im Moment für den Oktober 2013 geplant.
Für alle, die mehr wissen wollen („Hach, diese Doppeldeutigkeit“ :-D): www.sarpedonqualitylab.com/SQL_Master-Classes.htm

Ansonsten sind mir persönlich keine offizielle "Master-Trainings" bekannt außer in Bulgarien. Dort gibt es meines Wissens noch eine ähnliche Seminarreihe, geleitet von einer dortigen MCM-Kollegin.

7) 4% - Zertifizierung mir unbekannt

- Puh, immerhin in den IT Foren ist der MCM also doch gut bekannt. :-)

8) 35% - Zertifizierung meinen Kunden unbekannt

- Ja, das ist klar so, dass dieser Titel noch nicht den Bekanntheitsgrad hat, wie er ihn verdient hat. (Die geringe Zahl der Stimmen würde ich übrigens auch mit hier als Hinweis führen - denn ich habe sie sehr breit in den XING-Foren gepostet) Von einem Bekanntheitsgrad wie des seit über einem Jahrzehnt etablierten MVP ist der MCM weit entfernt. Dabei ist der MVP auch kein Zertifikat sondern ein Award. (Es findet also kein Examen statt. - mvp.microsoft.com) . Die neuerliche Umbenennung zum MCSM (…Solutions Master) wird sicherlich auch wenig helfen.

Und noch etwas möchte ich erwähnen, wie mir aus Gesprächen mit Paul Randall, der die Prüfung mit entwickelt hat, bewusst wurde: Der MCM ist nicht zuletzt deswegen erschaffen worden, um eine Zertifizierung anbieten zu können, welche sich nicht durch unlautere Methoden leichter beschaffen lässt.

- Siehe die Inflation von MCSE’s (dem alten Microsoft Certified System Engineer) aber letztlich auch von MCTS und MCITP, erzeugt durch Boot Camp Angebote, wo schnell viel auswendig gelernt wurde, um genau auf die Prüfungsfragen vorbereitet zu sein – oder durch die sogenannten „Braindumps“  – anstelle wirklich praktisches Wissen zu erlangen, wofür es keine Abkürzungen gibt, sondern Jahrelange Erfahrung. Darunter haben die Zertifizierungen so gelitten, das ein bloßes Zertifikat heute doch eher wenig bedeutet, bis man herausgefunden hat, was der Bewerber wirklich kann.

Die Prüfungen zum MCM sind genau deswegen zum einen so teuer und komplex, um die Weitergabe von Prüfungsinterna zu verhindern, und zum anderen eben auch so aufgebaut, das man sie nur mit echter Praxiserfahrung bestehen kann. - Und wenn diese Gewissheit, auf geprüfte praktische Erfahrung im Lösen von komplexen Problemen verweisen zu können kein guter Grund sind, dies seinen Kunden zu erklären.. :-)

- Es ist eben nicht als Prüfung gedacht, an welcher man sich austesten kann und sollte, um zu üben, sondern nach 2 spätestens Versuchen sollte sie zu bestehen sein – ansonsten braucht man vielleicht einfach noch ein paar Jährchen und komplexere Aufgaben („O-Ton“). Deswegen auch die verhältnismäßig langen Fristen für ein Retake. - In letzter Zeit sind auch diese Fristen von 3 Monaten auf 30 Tage herabgesetzt worden, was das mehrfache Wiederholen nach Fehlversuchen natürlich wesentlich vereinfacht. Ich persönlich stehe dem eher kritisch gegenüber, aber natürlich ist eine absolute Nischenzertifizierung auch nicht erstrebenswert.

Das „sich abheben“ ist eher ein Side-Effekt. Entscheidender ist der Nachweis/Beweis, den die bisherigen Zertifizierungen leider nicht erfüllen konnten.

(Hierin ist eine versteckte Aufforderung zum Handeln zu sehen.. :-))

9) 7% - Unrealistische Prüfungsthemen

- ich nehme mal an hiermit ist eher Punkt 3 oder Punkt 5 gemeint. („Zu breites Know-How erforderlich“, „Kein Anwendungsbedarf für das erforderliche Know-How“)
Ich kann jedenfalls versichern, dass sämtliche Aufgaben sehr wohl praxisrelevant sind. Mehr ins Detail möchte ich hier nicht gehen, bevor ich mich Verplappere ;-)
- Aber wenn jemand der für das MCM Programm das hier lesen sollte: Es dürfte auch noch ein Stück mehr sein, sowohl Breite, als auch durchaus Komplexität :-D

10) 2% - Leider (noch) nicht bestanden (Alles anonym :-) )

-  Immerhin einer der Stimmabgebenden hat sich die Prüfung auch selber angesehen. Ich hoffe, es fühlen sich bald noch weitere dazu ermutigt.

An dieser Stelle nochmal vielen Dank an alle Teilnehmer der Umfrage.

Hier geht es zu einer kleinen Diskussion, die sich zu dem Poll bei XING entwickelt hat. (Dieser Link ist jedoch nicht öffentlich. Dafür ist eine Xing- sowie Gruppenmitgliedschaft erforderlich.):

www.xing.com/net/pri23e6c8x/mcertified/fragen-und-antworten-q-a-139524/umfrage-zur-zertifizierung-als-microsoft-certified-master-solutions-master-44173596/

Auf sqlpodcast.de/index.php/2013/05/24/003-microsoft-certified-master/ wurde kürzlich auch ein Interview veröffentlicht, in welchem ich persönlich auf einige Aspekte der Zertifizierung zum MCM eingehe.

  • Inhalte:
    Microsoft-Zertifizierungen und Lernangebot
    Warum Zertifizierungen Sinn machen – und wann für wen oder für wen auch nicht
    Was den MCM die Prüfung zum MCM von den anderen „Breitenzertifizierungen“ unterscheidet
    Das Maestro-Programm (Das Gegenstück zum MCM für die BI-Suite des SQL Server) und seine ungewisse Zukunft.

Ein weiteres Interview mit mir, durchgeführt im März 2013 auf den Frankfurter Datenbanktagen, möchte ich meinen Lesern auch nicht vorenthalten: www.frankfurter-datenbanktage.de/index.php/interview-mit-andreas-wolter

Zum Schluss möchte ich noch festhalten, das wir als SQL Server Spezialisten, die Vorteile unserer Community, speziell der PASS (www.sqlpass.de) gar nicht genug betonen kann. Damit stehen wir unter allen Produktgruppen bei Microsoft wirklich stark heraus.

 


UPDATE 25.8.2013
Ich möchte an dieser Stelle auf einen sehr interessanten Thread auf dem Blog des italienischen Kollegen Marco Russo verweisen.
sqlblog.com/blogs/marco_russo/archive/2013/08/22/ssas-maestro-and-mcm-bi-mca-bi-mcsm-bi-make-your-voice-heard-ssas-mcsm-sqlserver.aspx
Insbesondere die Kommentare von Robert Davis (dem ehemaligen Leiter des MCM Programms) und Jen Underwood (die das SSAS Maestro Programm unter sich hatte) geben tiefe Einblicke in die Komplexität und den Support des MCSM und BI Maestro Programms.


Schöne Grüße und vielleicht sieht man sich auf einer der nächsten Konferenzen.


Als da wären:
SQLSaturday, St. Augustin, D 13.7.2013 inkl. PreCon am 12.7.,
SQLCon, Mainz, D 24.9.2013,
PASS Summit, Charlotte, USA 15.-18-10-2013
PASS Camp, Darmstadt, D 3.-5-12.2013


Andreas

MCM SQL Server

Conferences 2013: Frankfurter Datenbanktage und einige “Oracle-Momente”

Normalerweise versuche ich ja, meine Konferenz-Teilnahmen vorab bekanntzugeben, um dem Leser auch eine Chance zu geben, diese eventuell einzuplanen.

Aufgrund akutem Zeitmangel, und auch dem Umstand gewidmet, das ich erst eine Woche vor der Konferenz spontan für einen ausgefallenen Sprecher eingesprungen bin, ist mir das diesmal nicht gelungen.

Ich hatte das Vergnügen, einen Vortrag über “Hochverfügbarkeitstechniken mit SQL Server 2012” zu halten, und auch in einem Interview zu diesem Thema befragt zu werden.

Ich möchte über die diesjährigen (ersten) Frankfurter Datenbanktage (der Termin für das nächste Jahr steht bereits fest: 26. - 28. März 2014) gerne noch im Nachhinein schreiben, da mir das Konzept mit gleichzeitigen Tracks & Sessions zu Oracle, DB2, MySQL, NoSQL und SQL Server sehr gefällt.

Es ist z.B. immer wieder interessant - aber auch bedauerlich, festzustellen, wie unbekannt Snapshot Isolation & RCSI in SQL Server eigentlich ist.
Das geht soweit, das in einer Session, in der es um die Fähigkeiten der verschiedenen Datenbanksysteme, während des Schreibens von Datensätzen, dennoch gleichzeitig einen konsistenten Zustand lesen zu können zu der Aussage kam, das nur Oracle dies beherrscht.
Das ist sehr schade.
Denn abgesehen davon, das diese Aussage so nicht richtig ist - SQL Server bietet 2 Varianten (eben Snapshot Isolation und Read Committed Snapshot Isolation), auf die das ebenso zutrifft; das Hintergrundwissen, das Microsoft den Entwicklern die Wahl zwischen vielen verschiedenen Isolationsstufen gibt, und warum dieses Konzept auch besser ist, als keine Wahl zu haben (oder zumindest so sehr auf nur eine festgelegt zu sein, das selbst Oracle-Admins meinen, es gäbe keine), scheint nicht so weit verbreitet zu sein, wie man es sich erhoffen würde.

Eine andere Session, die ich nur lesenderweise mir ansah, hat mich als Security Spezialist für SQL Server schon fast geschockt: Es ist zwar kein Geheimnis (auch wenn es interessanterweise gerade im Bankenbereich gern ignoriert wird), wie umfangreich die Anzahl der Sicherheitslücken in ORACLE ist (Beim "NIST" kann man sich darüber informieren: nvd.nist.gov), aber in welchem Ausmaß man selbst ohne spezieller Betrachtung derer eine sogenanntes Sicherheits-“Härtung” durchführen muss, um einigermaßen sicher vor den gröbsten Einfallstoren zu sein, hat mich als seit SQL Server 2005 “secure by default” gewohnter doch sehr überrascht. - Möglichst “sanft" (Session-Untertitel "Sanftes Härten"), damit danach auch noch alles funktioniert - und wir wollen die Angreifer ja auch nicht völlig vergraulen, oder? :) (Nachtrag: natürlich ist es nachvollziehbar, das man nicht einfach so alles "dicht" macht, und danach auch die validen Anwendungen nicht mehr funtionieren. Die Essenz ist: es muss ein Mittelweg gefunden werden, welcher die Angreifbarkeit und Verletzbarkeit zumindest mindert. Und das ist natürlich schon viel Wert!)
Welche meiner Daten so "geschützt" in Oracle-DBs liegen, wäre vielleicht gut zu wissen... ganz ohne Häme, denn der einzelne Kunde kann dafür meistens gar Nichts. - Nur wenn er informiert ist und gar nicht handelt (Und nicht einmal mildernd eingreift).

Um es aber auch klar zu sagen: auch einen SQL Server kann man angreifen, wenn Applikationen oder andere Verbindungen mit zu viel Rechten laufen, Service Accounts geshared werden, etc.. Deswegen hier noch einmal die beiden wichtigsten Sicherheitsprinzipien: "Separation of duties/roles" und "Principle of least privilege". Also Aufgaben/Rollen (Dienstkonten!) trennen und immer mit den geringstmöglichen Rechten arbeiten. Und oben drauf ein Auditing, damit man mitbekommt, wenn man einen Weg übersehen hat.

Und nicht zuletzt wegen der Möglichkeit solche Missverständnisse oder Vergleiche einmal live zu erfahren, oder auch einfach ganz andere Möglichkeiten, die es bei anderen DBMS ja auch gibt, kennenzulernen, empfinde ich die Frankfurter Datenbanktage als Bereicherung in der Konferenz-Landschaft.

Tatsächlich versucht die PASS Deutschland e.V. eine kleine Variante solcher Mixtur auch für den geplanten SQLSaturday #230 in Rheinland, auf welchem ich sicherlich auch anzutreffen sein werde, mit einzubringen. Ich bin gespannt, was daraus wird, und wie es aufgenommen wird.

 

vielleicht sieht man sich auf der nächsten Konferenz,

 

Andreas

Tracing Analysis Services (SSAS) with Extended Events – Yes it works and this is how

Tracing Analysis Services mit Extended Events – Ja, es geht, und zwar so

or: “Hasta la vista, Profiler”... ;-)

(en)
One of the features new in Analysis Services 2012 is the support of the SQL Server Extended Events Framework.

While there is no GUI support for that, yet, it is however possible to set up a XEvent session via DDL commands - just like it was in the “old days” with SQL Server 2008/ 2008 R2, until 2012 brought the GUI.

Since I have been asked a lot at my sessions on Extended Events on how it is done in Analysis Services, and the Books Online sample code is not really working (“Use SQL Server Extended Events (XEvents) to Monitor Analysis Services
http://msdn.microsoft.com/en-us/library/gg492139.aspx”), I will show a quick example here.

The following code creates a session to collect the deadlocks events from the Analysis Services Instance:

(de)
Eines der in Analysis Services 2012 neuen Features ist die Unterstützung des SQL Server Extended Events Frameworks.

Obwohl dafür noch keine grafische Unterstützung da ist, ist es jedoch möglich eine XEvent Session über DDL Kommandos aufzusetzen - genau wie in den alten Zeiten” mit SQL Server 2008/ 2008 R2, bis 2012 die GUI brachte.

Da ich im Zuge meiner Sessions zu Extended Events häufig gefragt wurde, wie das bei Analysis Services funktioniert, und das Books Online Beispiel nicht wirklich funktioniert (“Use SQL Server Extended Events (XEvents) to Monitor Analysis Services
http://msdn.microsoft.com/en-us/library/gg492139.aspx”), zeige ich hier ein kurzes Beispiel.

Der folgende Code erzeugt eine Session um Deadlock Events von einer Analysis Services Instanz mitzuschneiden:

<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
mlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2"
xmlns:ddl3="http://schemas.microsoft.com/analysisservices/2003/engine/3"
xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100"
xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200"
xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300">
    <
ObjectDefinition>
        <
Trace>
            <
ID>Sarpedon AS Trace Demo</ID>
            <
Name>Sarpedon AS Trace Demo</Name>
            <
ddl300_300:XEvent>                <event_session name="SQL_AS_XE" dispatchLatency="10" maxEventSize="4" maxMemory="4" memoryPartitionMode="none">
                    <
event package="AS" name="Deadlock" />
                    <
target package="Package0" name="event_file">
<
parameter name="filename" value="D:\SQLData\SarpedonASDeadlockTrace.xel" />
                    </
target>
                </
event_session>
            </
ddl300_300:XEvent>
        </
Trace>
    </
ObjectDefinition>
</
Create>

As one can see, the definition like session configuration and targets, is quite similar to SQL Server, since it is in fact based on the same architecture.
The package containing the events is "AS", whereas targets come from our well known "Package0". The one familiar with XEvents will know, what this implicates - more maybe in a later post.

Via the internal system view $system.discover_traces, we can see the active traces on the instance: the “FlightRecorder” which is still using the old-style Tracing technology (I wonder when Microsoft will add a new one just like system_health in SQL Server) and my sample session. You will also note, that the XEvent session’s trace file name is not visible here.

Wie man sehen kann, ist die Definition wie Session-Konfiguration und Targets recht ähnlich zu SQL Server, da es tatsächlich auf der selben Architektur basiert.
Das Package welches die Events enthält, ist "AS", wohingegen die Targets aus dem bereits bekannten "Package0" stammen. Wer bereits mit XEvents vertraut ist, wird wissen, was das impliziert - mehr vielleicht in einem späteren Post.

Über die interne Systemsicht $system.discover_traces können wir die aktiven Traces auf der Instanz sehen: der “FlightRecorder”, der noch die alte Tracing Technik verwendet (Ich frage mich, wann Microsoft eine Neue, wie die system_health in SQL Server hinzufügen wird), und meine Beispiel-Sitzung. Man sieht auch, das der Trace Dateiname der XEvent-Session hier nicht sichtbar ist.

 Trace Sessions

To access the collected data one can easily stop and delete the session by name as follows:

Um auf die gesammelten Daten zuzugreifen, kann man die Trace session wie folgt bequem über den Namen beenden und löschen:

 <Delete xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <
Object>
        <
TraceID>Sarpedon AS Trace Demo</TraceID>
    </
Object>
</
Delete>

The collected data can be viewed, aggregated and filtered as normal with the Extended Events Viewer in Management Studio.
Here a sample with query runtimes:

Die gesammelten Daten lassen sich dann wie gewohnt über den Extended Events Viewer in Management Studio ansehen, aggregieren und filtern.
Hier ein Beispiel mit Query-Laufzeiten:

XEvent Viewer

In the detail pane on the bottom you can notice, that I turned on causality tracking here. Hence the activity ID /GUID correlate activity.

Im Detailbereich kann man sehen, das ich hier auch “Kausalitätstracking” eingeschaltet habe. Daher die activity ID/GUI um Aktivitäten zu korrelieren.

So as you see, for a fact, the Analysis Services engine has been extended to be using the Extended Events architecture for better performing and more flexible Tracing.
I do expect some more GUI-support for Managing XEvents in Analysis Services in the next major release.


Have fun, playing around with the sample. :-)

From now on there is no excuse any more, to burden an Analysis Server that is already on its knees with Profiler...

Wie man sehen kann, sind die Analysis Services tatsächlich erweitert worden um die Extended Events Architektur für performanteres und flexibleres Tracing zu verwenden.
Mit dem nächsten Major-Release des SQL Server erwarte ich mehr GUI-Unterstützung  für die Verwaltung von XEvents in Analysis Services.

Viel Spaß beim Herumspielen mit dem Beispiel. :-)

Ab jetzt gibt es keine Entschuldigung mehr, einen Analysis Server, der bereits auf den Knien ist, weiter mit dem Profiler zu belasten...

                      “Hasta la vista, Profiler” ;-)

Hopefully by MCM buddy and friend Reeves Smith will soon write his promised post on Tracing Analysis Services, maybe with a Performance Comparison.
”So, now you have to get going, Reeves!” :-D

Hoffentlich wird mein MCM Kollege und Freund seinen versprochenen Post über XEvent Tracing Analsis Services bald einlösen – vielleicht mit einem Performance-Vergleich.
”So, nun musst Du aber loslegen, Reeves!” :-D

Meanwhile I’d like to refer you to this article from another fellow MCM, Jonathan Kehayas, where you can see the enormous difference in terms of negative performance-impact of tracing via Profiler and SQL Trace vs XEvents:

Bis dahin verweise ich gerne auf diesen Artikel eines andern MCM Kollegen, Jonathan Kehayas, wo man den gewaltigen Unterschied des negativen Performance-Einflusses von Tracing mittels profiler aund SQL Trace gegenüber Extended Events sieht:

 www.sqlperformance.com/2012/10/sql-trace/observer-overhead-trace-extended-events

Update: I conducted an excessive benchmarking on Extended Events and SQL Trace & Profiler myself now. The results ar now public and can be found here:

Update: Ich habe nun selber ein exzessives Benchmarking zu Extended Events und SQL Trace & Profiler durchgeführt. Die Ergebnisse sind hier nun auch öffentlich und können hier gefunden werden:

www.insidesql.org/blogs/andreaswolter/2013/08/performance-overhead-tracing-extended-events-sql-trace-under-cpu-load

 

Andreas

 

Hinweis: es wird noch im 1. HJ 2013 einen zweiten Termin für die Master-Class Seminare zu Extended Events geben (13. und 14. Juni). 

Die nächste Möglichkeit ist am 22.11. bzw. 25.11.2013!

http://www.sarpedonqualitylab.com/SQL_Master-Classes.htm