Category: "Surveys / Umfragen"

Dieser Blog ist umgezogen // This Blog has moved: http://andreas-wolter.com/blog/

http://andreas-wolter.com/blog/

Liebe Leser
dieser Blog ist hiermit nur noch „Archiv“ und wird nicht mehr weiter gepflegt.
Seit August 2017 finden sich neue Artikel ausschließlich unter der neuen URL:
http://andreas-wolter.com/blog/

Dear Readers
this blog is now merely an „archive“ and no longer being updated.
Since August 2017 new articles are exclusively available under the new URL:
http://andreas-wolter.com/en/blog/

Die aufwändige Mehrsprachigkeit (Deutsch und Englisch professionell manuell übersetzt) wird beibehalten – aber Layout-technisch anders gelöst. Damit dürfte ich immer noch den einzigen mehrsprachigen IT-Blog weltweit betreiben.
Ich hoffe, das neue Design gefällt Ihnen.

The complex multilingualism (German and English professionally manually translated) is being continued – but solved differently in terms of layout. With that I most likely still operate the only multilingual IT-Blog worldwide.
I hope you like the new design.

 

 

Mein aktueller Artikel, der erstmalig ausschließlich auf der neuen Website zu finden ist, lautet: Optimieren von Workflows mit In-Memory und nativ kompilierten Objekten - oder wie es nicht funktioniert

My currently last article, which is exclusively available at the new website for the first time, is Optimizing workflows with In-Memory and Natively Compiled Objects - or how it does not work

 

Cu at my new Blog

Andreas

SQL Server Database Ownership: survey results & recommendations

SQL Server Datenbankbesitz: Umfrageergebnisse und Empfehlungen

(en)
You may remember the survey on database ownership which I launched several months ago.

In the following, I am now presenting the results and giving my official recommendation for a best practice for security in terms of database ownership.
First, if you still need the script:

(de)
Ihr erinnert Euch vielleicht an die Umfrage zu Datenbankbesitz, die ich vor einigen Monaten gestartet habe.
Hier präsentiere ich nun die Ergebnisse und gebe meine offiziellen Empfehlungen für Sicherheits-Best Practice hinsichtlich Datenbankbesitz.
Zunächst, wer noch den Script benötigt:

 

Server 1: http://j.mp/13_SQL_DBO_Survey
Server 2: gallery.technet.microsoft.com/scriptcenter/Database-Owners-role-3af181f5/

 

Now first the results.
I received data from 58 different servers and 905 databases altogether.
That’s not bad, and sufficient for my purpose of giving you, my readers, the opportunity to find out how others configure their servers.

Many thanks to all those who submitted!
You may still share results but I can’t promise how soon I can include them. (Here is the survey plus the script for collection)
So now to the details. I put the most interesting data in charts.
The most obvious issue is that of the external owner’s account, which is most often and not very surprisingly sa:

Nun zuerst einmal die Ergebnisse.

Ich habe insgesamt von 58 verschiedenen Servern und 905 Datenbanken Daten erhalten.

Das ist nicht schlecht. Und es ist ausreichend für meine Zwecke – Euch, meinen Lesern, die Gelegenheit zu gegeben herauszufinden, wie andere ihre Server konfigurieren.

Vielen Dank an alle, die ihre Daten eingereicht haben!

Ihr könnt eure Ergebnisse immer noch mit mir teilen, aber ich kann euch nicht versprechen, wie bald ich sie mit einschließen kann. (Hier sind die Umfrage sowie das Skript für die Datenerfassung.)

Nun zu den Details. Ich habe die interessantesten Daten in Diagramme gesetzt.

Die offensichtlichste Frage ist die des Kontos des externen Besitzers, das am häufigsten und nicht überraschenderweise sa ist:

 SQL_Server_External_Database_Owner_pct

 

57% of all databases belong to sa himself. Actually, this is better than expected. But let’s dive further – what’s the server role behind the remaining 42%?

57% aller Datenbanken gehören sa selbst. Dies ist sogar besser als erwartet. Aber schauen wir mal genau hin – was ist die Server-Rolle hinter den verbleibenden 42%?

 SQL_Server_Role_Membership_of_Database_Owner_pct

 

Ok, that changes the picture quite a bit. Almost 80% of all Database owners are sysadmin. So that is by no means any better than sa.
Then some other accounts follow, which means those have low privileges (“excellent”), and then comes dbcreator, securityadmin, that are later followed by some other high privileged server roles, though with much less power.

So in other words: only 7% of all those databases have been looked at with security in mind by only using low privileged accounts as owners.

If you are interested in the plain numbers, here they go:

Ok, das verändert das Bild schon entscheidend. Fast 80% aller Datenbankenbesitzer sind sysadmin. Das ist also keineswegs besser als sa.
Es folgen einige andere Konten, das bedeutet, dass diese niedrige Privilegien (“hervorragend”) haben, und dann folgen dbcreator, securityadmin, auf die später einige andere hochprivilegierten Serverrollen folgen, doch mit weitaus weniger Privilegien.

Mit anderen Worten: nur 7% aller dieser Datenbanken wurden im Hinblick auf Sicherheit betrachtet, indem von Besitzern nur niedrigprivilegierte Konten verwendet wurden.

Wenn euch die genauen Zahlen interessieren, hier sind sie:

 SQL_Server_Role_Membership_of_Database_Owner_num

I did include some of the security-wise critical database- & server configurations:

  1. Is the database set to be “Trustworthy”?
  2. Is the database set to have “Database chaining on”?
  3. Is the Server set to have “cross database chaining on”?

Those are actually the even more important results.

Since the system databases need to have a different setting by default, I am excluding them, making it a total of 847 User databases.
Of which 30 have the trustworthy bit set to on, and 35 have the database chaining.
What you can’t see in this graph, but what I can tell from the raw data, is that those 30 “trustworthy” databases all are owned by a sysadmin.
And THIS now is the biggest security-hole in this area!
Here a graph on that:

Ich habe einige der sicherheitstechnisch kritischen Datenbank- und Serverkonfigurationen mit eingeschlossen:

  1. Ist die Datenbank auf „Trustworthy“ eingestellt?
  2. Ist in der Datenbank „Datenbank-Verkettung an“ eingestellt?
  3. Ist im Server „cross database chaining on“ eingestellt?

Diese sind eigentlich die wichtigeren Ergebnisse.

Da die Systemdatenbanken standardmäßig eine andere Einstellung haben müssen, schließe ich sie in meiner Bewertung aus, so dass ich auf insgesamt 847 Nutzer-Datenbanken komme.
30 von ihnen haben das Trustworth-Bit eingestellt, und 35 haben die Datenbanken-Verkettung eingeschaltet.
Was ihr in dieser Grafik nicht sehen könnt, aber was ich aus den Rohdaten erkennen kann, ist, dass diese 30 „vertrauenswürdigen“ Datenbanken alle im Besitz von einem sysadmin sind.
Und DAS ist das größte Sicherheitsloch in diesem Bereich!
Hier ein Diagramm dazu:

 

SQL_Server_Critical_Database_Settings 

In the interest of time I will focus this post on recommendation rather than explaining all the risks involved. At the end though I will provide some links for further reading.

Aus Zeitgründen werde ich diesen Eintrag auf Empfehlungen beschränken, als alle Risiken zu erklären. Am Ende werde ich jedoch einige Links für weiterführende Lektüre angeben.

Possibilities

So what are the general variations of database ownership?
Let me start with the most common and actually WORST possibilities (Yes, I mean it exactly as I say ;-) ):

  1. SA-Account
  2. Some other SQL-Account with sysadmin privileges
  3. Windows Login with sysadmin privileges

A first improvement(? – really?):

      4. Any of the above with Status = Disabled

 And then:

     5.   A ”shared” account without any special server role or permissions (aka “1 Account per Server”)

     6.   1 Account per Database

     7.    1 Account per Application

     8.   1 Account per Group of databases

 + all of them not only Disabled but with a Denied Connect-Permission

Möglichkeiten

Was sind also die allgemeinen Variationen von Datenbanken-Besitztum?

Fangen wir mit den häufigsten und eigentlich SCHLECHTESTEN Möglichkeiten an (Ja, das meine ich genau so, wie es hier steht ;-) ):

 

  1. SA-Konto
  2. Irgendein anderes SQL-Konto mit sysadmin-Privilegien
  3. Windows Login mit sysadmin-Privilegien

 Eine erste Verbesserung(? – wirklich?):

     4.   Alle der oben angegebenen mit Status = Deaktiviert

 Und dann:

     5.     Ein „geteiltes“ Konto ohne eine spezielle Serverrolle oder Rechte (Alias „1 Konto pro Server“)

     6.   1 Konto pro Datenbank

     7.   1 Konto pro Anwendung

     8.   1 Konto pro Datenbank-Gruppe

 + alle davon nicht nur Deaktiviert sondern mit einer verweigerten Verbindungs-Berechtigung 

My Recommendation:

Depending on your environment: Any of 5, 6, 7 or 8:

Create a specific Login without any extra permissions + Deny Connect.

The most simple approach and yet better than sa is: one database owner per server.
Example for (5):

  • Database1 owned by DBOwner
  • Database2 owned by DBOwner
  • Database3 owned by DBOwner

 Simple and self-explanatory.

The other extreme and most secure is: per database.
Example for (6):

  • Database1 owned by DBOwner_Database1
  • Database2 owned by DBOwner_Database2
  • Database3 owned by DBOwner_Database3
  • Database4 owned by  DBOwner_Database4

 Some applications use a number of different databases. For them it’s perfectly fine to use the same database owner account. So create an account per application.

Example for (7):

  • App1Database1 owned by DBOwner_App1
  • App1Database2 owned by DBOwner_App1
  • App2Database1 owned by DBOwner_App2
  • App2Database owned by  DBOwner_App2

 Another approach is kind of a compromise between 1 Database-Owner Account per Server and One per database: Define the level of security needed per database. Then create a dedicated account for the most critical Databases. And for the others use a shared owner/account, possibly divided in 2 or more groups.

Example for (8):

  • CriticalDatabase1 owned by DBOwner_Level1Dedicated1
  • CriticalDatabase2 owned by DBOwner_ Level1Dedicated2
  • Level2Database1 owned by DBOwner_Level2
  • Level2Database2 owned by DBOwner_Level2

 I hope my samples give you an idea. :-)

So why this effort?
Let me put it this way: ”Why not sa?”.
First: If you think about it, it actually makes little sense that the highest privileged account in SQL Server is being recommended by so many, even professionals + in Whitepapers (!) – when security is the focus. It is really wrong, as wrong as it could possibly get.
I mean, as you can see, there are other options out there.
The top reason why SA keeps getting recommended is administration itself: It eases the setup for failover and regular database restores, since SA is always available at any server and hence a broken database owner can be avoided with almost no extra work.
But that’s “only” from a perspective of maintenance.
With regard to security it is totally on contrary to the Principle of least privilege.

It may not matter a lot, if everything else is tightened, but that’s hardly a thing to rely on especially in bigger environments where things change and many people have access and permissions to.
Especially in the context of the trustworthy-setting for a database, this completely opens the system for privilege escalation attacks from inside. It is then a piece of cake to gain system level permissions once you are for example in the db_owner database group – like many applications are, if they are not sysadmin already.
- Remember: the owner of a database cannot be denied anything inside and with his database. So he can change structure, create backups, break log-backup-chain and also drop it completely.

And since the attack starts from inside, it really doesn’t matter whether the sa/sysadmin account is disabled as you may now realize.

Having a dedicated account with zero special permissions as database owner prevents database principals from gaining system level permissions as a sysadmin has, even in the case of the database being trustworthy.
And trustworthy is one of the dirty little shortcuts for developers implementing CLR code inside the database and avoiding the hassle of having to use certificates under certain conditions. The same is often done for code that needs to get server-level data from inside the database.

Meine Empfehlung:

Abhängig von eurer Umgebung: eine von 5, 6, 7 oder 8:

Ein spezifisches Login errichten ohne extra  Rechte + Deny Connect.

Die einfachste Herangehensweise und doch besser als sa ist: ein Datenbankbesitzer pro Server.

Beispiel für (5):

  • Datenbank1 im Besitz von DBOwner
  • Datenbank2 im Besitz von DBOwner
  • Datenbank3 im Besitz von DBOwner

 Einfach und selbsterklärend.

 Das andere Extrem und dabei die sicherste ist: pro Datenbank.

Beispiel für (6):

  • Datenbank1 in Besitz von DBOwner_Database1
  • Datenbank2 in Besitz von DBOwner_Database2
  • Datenbank3 in Besitz von DBOwner_Database3
  • Datenbank4 in Besitz von DBOwner_Database4

Einige Anwendungen verwenden eine Reihe von unterschiedlichen Datenbanken. Für sie ist es völlig ausreichend, das gleiche Datenbankbesitzerkonto zu verwenden. Erstellt also ein Konto pro Anwendung.

Beispiel für (7):

  • App1Database1 in Besitz von DBOwner_App1
  • App1Database2 in Besitz von DBOwner_App1
  • App2Database1 in Besitz von DBOwner_App2
  • App2Database in Besitz von DBOwner_App2

Eine andere Herangehensweise ist eine Art Kompromiss zwischen 1 Datenbankenbesitzerkonto pro Server und einem pro Datenbank: Definiere das Sicherheitslevel, das je Datenbank gebraucht wird. Dann erstelle ein spezielles Konto für die kritischsten Datenbanken. Und für die anderen Besitzer einen gemeinsamen Besitzer-/Konto verwenden, möglicherweise in 2 oder mehr Gruppen geteilt.

Beispiel für (8):

  •  CriticalDatabase1 in Besitz von DBOwner_Level1Dedicated1
  • CriticalDatabase2 in Besitz von DBOwner_ Level1Dedicated2
  • Level2Database1 in Besitz von DBOwner_Level2
  • Level2Database2 in Besitz von DBOwner_Level2

 Ich hoffe, meine Beispiele geben euch eine Vorstellung. :-)

Aber warum diese Mühe?
Lasst es mich so ausdrücken: “Warum nicht sa?”
Zuallererst: Denkt man darüber nach, ergibt es eigentlich wenig Sinn, dass das höchstprivilegierte Konto beim SQL Server von so vielen empfohlen wird, selbst von Profis + in Whitepapers (!) – wenn Sicherheit im Fokus steht. Es ist wirklich falsch, so falsch wie es nur irgend sein kann.

Schließlich gibt es da draußen, wie ihr sehen könnt, noch andere Optionen.

Die Grund Nr. 1, warum SA immer wieder empfohlen wird, ist die Administration selbst: Es erleichtert das Einrichten für Failover und regelmäßige Datenbankenwiederherstellungen, da SA immer auf jedem Server verfügbar ist und damit ein kaputter Datenbankbesitzer mit wenig zusätzlichem Aufwand verhindert werden kann.
Aber das ist „nur“ aus Sicht der Wartung.
Was die Sicherheit angeht, steht es völlig im Gegensatz zum Prinzip des geringsten Privilegs.

Es mag nicht viel ausmachen, wenn alles andere straff sitzt, aber darauf sollte man sich nicht verlassen, besonders in größeren Umgebungen, wo sich Dinge ändern und viele Leute Zugriff und Befugnisse haben.

Besonders im Kontext der Trustworthy-Einstellung für eine Datenbank öffnet dies das System komplett für privilege escalation-Angriffe von innen. Dann ist es ein Kinderspiel, Systemlevel-Befugnisse zu erlangen, wenn man einmal z.B. in der db_owner Datenbankengruppe ist – wie es viele Anwendungen sind, wenn sie nicht bereits sysadmin sind.

Denkt dran: dem Datenbankenbesitzer kann weder innerhalb noch mit seiner Datenbank etwas verweigert werden. Er kann also die Struktur verändern, Backups erstellen, Log-Backup-Chain brechen und sie auch komplett löschen.

Und da der Angriff von innen anfängt, ist es wirklich egal, ob das sa/sysadmin Konto deaktiviert ist, wie ihr jetzt realisiert haben werdet.
Ein spezielles Konto mit Null speziellen Befugnissen als Datenbankbesitzer zu haben hindert Datenbank-Prinzipale daran, System-Level-Befugnisse zu erlangen, wie sie ein sysadmin hat, selbst in dem Fall, dass die Datenbank vertrauenswürdig ist.
Und „trustworthy“ ist eine der unsauberen kleinen Abkürzungen für Entwickler, die CLR-Code im Innern der Datenbank ausführen und sich dabei die Umstände sparen, unter bestimmten Bedingungen Zertifikate benutzen zu müssen. Dasselbe wird oft für Code gemacht, der Server-Level-Daten aus dem Innern der Datenbank erreichen muss.

Call for actions:

Check your databases. You can find my script here: Security-Check-Script & Survey: SQL Server Security - Database-Owners, critical Permissions and role membership
Now when you start with securing your databases from database-ownership standpoint, you have to make sure that the very account does exist at any sever where this database gets restored/failed over. Usually you will have a technique in place already to synchronize your server-level principals to your other servers. So this is just one or several more of them.

Also make sure you fully understand your environment and possibly application needs before you just change the owner of your databases. You can start by reading through the links at the bottom.

Vote for an improvement in SQL Server:
I have created a suggestion as Connect Item which tackles this problem. My idea is having Microsoft include a special “DBOwner” Account at server level by default, which not only pre-exists and has not permissions, but also never compares to another. I think this would make it much easier to get rid of the habit of “sa” everywhere by also making it simple to maintain.
Please vote here: Providing a special Server principal for Database Ownership

Handlungsaufruf:

Überprüft eure Datenbanken. Ihr könnt meinen Skript hier finden: Sicherheitsprüfungs-Script & Umfrage: SQL Server Datenbankbesitzer, kritische Rechte und Rollenmitgliedschaft

Wenn ihr jetzt anfangt, eure Datenbanken aus der Perspektive von Datenbanken-Besitz zu sichern, müsst ihr dabei sicherstellen, dass dasselbe Konto auf jedem Server existiert, wo diese Datenbank wiederhergestellt/failed over wird. Normalerweise werdet ihr bereits eine Technik haben, wie ihr eure Server-Level-Prinzipale mit euren anderen Servern synchronisiert. Das sind also nur eine oder einige mehr davon.

Stellt außerdem sicher, dass ihr eure Umgebung und möglicherweise Anwendungsbedürfnisse vollständig versteht, bevor ihr den Besitzer eurer Datenbanken einfach ändert. Ihr könnt damit anfangen, indem ihr euch unten aufgelisteten Links durchlest.

Abstimmen für eine Verbesserung im SQL Server:
Ich habe einen Vorschlag als Connect Item erstellt, der dieses Problem behandelt. Meine Vorstellung ist es, Microsoft dazu zu bringen, standardmäßig ein spezielles „DBOwner“ Konto auf Server-Level auszuliefern, das nicht nur bereits immer vorab existiert und keine Rechte hat, sondern auch nie mit anderen vergleichbar ist. Ich denke, dass dies es viel einfacher machen würde, die allgegenwärtige Gewohnheit des „sa“ loszuwerden und es gleichzeitig auch einfach Wartbar machen würde.
Bitte hier Eure Stimme abgeben: Providing a special Server principal for Database Ownership

I hope this was helpful.

If you have any questions feel free to comment.
Let me finish up with some links for further readings:

Ich hoffe, das war hilfreich.

Wenn ihr noch Fragen habt, kommentiert gern.
Zum Abschluss einige Links für weiterführende Lektüre:

 

Highly recommended reading:

Dringend empfohlen:

Giving Permissions through Stored Procedures
Ownership Chaining, Certificates and the Problematic EXECUTE AS from Erland Sommarskog

More on Disabling and Deny Connect:

Mehr zu…

DISABLE and DENY LOGIN, DENY USER & Effect on Impersonation and Permissions

More on trustworthy:

 

The TRUSTWORHY bit database property in SQL Server 2005

TRUSTWORTHY Database Property

Extending Database Impersonation by Using EXECUTE AS

Discussions:

Database/Object Ownership Misalignment

database ownership - sa disabled

 

Happy Securing

 

Andreas

Security-Check-Script & Survey: SQL Server Security - Database-Owners, critical Permissions and role membership / Sicherheitsprüfungs-Script & Umfrage: SQL Server Datenbankbesitzer, kritische Rechte und Rollenmitgliedschaft

(de)
In dieser Umfrage möchte ich einmal in einem größeren Kreis ermitteln, welche Accounts typischerweise als Datenbankbesitzer eingetragen werden. Die kumulierten Ergebnisse werde ich anschließend hier veröffentlichen um sie mit der Community zu teilen, zusammen mit einigen Empfehlungen hinsichtlich Sicherheits-Härtung.

Dabei interessieren vor allem bestimmte serverweite Berechtigungen nicht nur des verwendeten Logins selber, sondern auch, falls er Mitglied einer (custom) Server Role ist, bestimmte, kritische Rechte dieser Rolle.

Wer meine Vorträge zum Thema „Sicherheit in SQL Server“ in den letzten Jahren, und insbesondere der im Sommer 2013 gestarteten Reihe „SQL Server Attacked“ verfolgt hat, wird sich vielleicht hat erinnern, wie ich dort auch gezeigt habe, wie man aus einer Datenbank ausbrechen und volle Systemrechte erlangen kann („Privilegien Erweiterung“) – basierend auf einer Kombination von Datenbankbesitzer, -Konfiguration und Impersonierung.

Hier stelle ich nun einen T-SQL Script zur Verfügung, welcher

  • Den jeweiligen Datenbankbesitzer aller Datenbanken ermittelt
  • Ungültige/Fehlende Datenbankbesitzer erkennt
  • Anzeigt, ob der Besitzer direkt über sicherheitskritische systemweite Rechte verfügt
  • Mitgliedschaft in hochprivilegierten Server-Rollen anzeigt – inklusive der benutzerdefinierten Serverrollen (ab SQL 2012 möglich)
  • Die kritischen Datenbankeinstellungen „Vertrauenswürdig“ und „Datenbankverkettung“ anzeigt.

Und hier ist der Script:

(en)
In this survey, I would like to explore in a greater radius which accounts are typically used as database owners. I will subsequently publish the cumulated results here to share them with the community together with some recommendations for hardening security.

In this instance, particular server-wide permissions both of the used account as well as, in case of membership of a (custom) Server Role, critical permissions of that role, are of interest.

Those who have followed my presentations on the topic “Security in SQL Server” in the last years, and especially the „SQL Server Attacked“ series launched in the summer of 2013, may remember how I had also demonstrated there how to break out of a database and be granted full system rights (“Elevation of privileges”), - based on a combination of database owner, configuration and impersonation.

Here, I am providing a T-SQL Script which

  • Identifies the respective database owners of all databases
  • Detects invalid/missing database owners
  • Indicates whether the owner directly possesses security-critical system-wide rights
  • Indicates membership in high privilege Server Roles – including the user defined Server Roles (possible since SQL 2012)
  • Indicates the critical database configurations “trustworthy” and “database chaining”.

Here you can find the script:

 

Server 1: http://j.mp/13_SQL_DBO_Survey
Server 2: gallery.technet.microsoft.com/scriptcenter/Database-Owners-role-3af181f5/

 

- Er sollte auf allen SQL Servern ab der Version 2005 funktionieren (getestet 2008-2014).

Zum Zwecke der Umfrage bitte ich Euch, die anonymisierten Ergebnisse (am Besten in Excel-Format) an die Email survey@SarpedonQualityLab.com zu senden, oder auch hier in den Kommentaren zu posten.
Zum Zwecke der Anonymisierung kann man einfach die letzten 3 Spalten aus dem Resultset auslassen – diese haben für eine statistische Erhebung auch keinen Nutzen sondern sind nur für Eure internen Zwecke bestimmt :-).

Hier seht ihr ein Beispiel-Ergebnis:

-           It should be working on all SQL Servers since the 2005 version (tested: 2008-2014).

For the purpose of the survey, I would like to ask you to send the anonymized results (preferably in excel-format) to the email survey@SarpedonQualityLab.com, or as well post them here in the comments.

For anonymization purposes, you can simply leave out the last three columns from the result set – these are not of use to a data collection and only meant for your internal usage :-).

Here, you can see a sample result:

Database_Ownership_Permissions_Sample_Result

 -> click to enlarge

Mehrere Einträge für dieselbe Datenbank entstehen, wenn der Datenbankbesitzer – oder seine Serverrolle(!) über mehrere, der von mir als sicherheitskritisch klassifizierten Rechte verfügt. Diese stehen dann in der Spalte login_permission bzw. role_permission. Hinter den Kürzeln verbergen sich:
ALLG = ALTER ANY LOGIN
ALSR = ALTER ANY SERVER ROLE
CL  = CONTROL SERVER
XA  = EXTERNAL ACCESS ASSEMBLY
(mehr dazu auch hier: CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats).

Die Inhalte der Spalten DatabaseNo, database_owner und external_owner sind absichtlich allgemein gehalten – die exakten Namen sind wie gesagt in den letzten 3 Spalten zu finden.

Die Spalte db_owner_valid zeigt an, ob die Datenbank einen gültigen Besitzer hat. In diesem Fall besteht ein match zwischen dem „externen Besitzer“ und dem in der Datenbank selber hinterlegten. In der Spalte external_owner steht nur ob dieser „externe Besitzer“ sa ist oder nicht – der genaue Login steht dann in *External_Owner.Der Script speichert keine Daten dauerhaft im System ab und beseitigt seine temporären Zwischenergebnisse selbst.

Ich hoffe, ihr findet die Auswertung hilfreich – und ich hoffe, ihr könnt die (anonymisierten) Ergebnisse mit der Community teilen. Ich werde keine Email speichern oder verwenden, sondern nur die anonymisierten Abfrageergebnisse.

Ich bedanke mich für eure Teilnahme und Unterstützung der Community!
Ich verspreche, die kumulierten Ergebnisse in den nächsten Monaten zusammen mit entsprechenden Hinweisen auf Best & Bad Practices sowie auf möglichen Einfallstoren für Privilegienerweiterungs-Angriffen zu veröffentlichen.

Multiple entries for the same database occur when the database owner – or his serverrole(!) possess multiple of the permissions which I classified as security-wise critical. These are listed in the column login_permission respectively role_permission. The codes stand for:
ALLG = ALTER ANY LOGIN
ALSR = ALTER ANY SERVER ROLE
CL  = CONTROL SERVER
XA  = EXTERNAL ACCESS ASSEMBLY
(you can read more on that here: CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats).

The contents of the columns DatabaseNo, database_owner and external_owner are left general on purpose – the exact names can be found in the last 3 columns s mentioned above.

The column db_owner_valid indicates, whether the database has a valid owner. In this case there is a match between the „external owner“ and the one stored within the database itself. The column external_owner only shows whether that „external owner“ is sa or not –the exact Login is shown in *External_Owner.

The script does not permanently save any data in the system and removes its temporary intermediary results by itself.

I hope you find the report useful and I hope you can share the (anonymized) results with the community.
I will not store or use any email but only use the anonymized Query-results.

 Thank you in advance for your participation and support of the community!
I promise to publish the cumulated results with according details on best & bad practices as well as on to possible gateways to elevation of privilege attacks in the next months.

 

Andreas

Survey: Which Tracing and Analysis-Tools do you use for SQL Server?

 Umfrage: Welche Tracing und Analyse-Tools verwendet ihr für SQL Server?

(DE)
In meiner Session „Hasta la vista Profiler – Tracing with Extended Events“, die ich nun seit über einem Jahr bei diversen Gelegenheiten gehalten habe, habe ich die Zuhörer meist gefragt, welche Monitoring-Tools sie bisher verwendeten.

Ich möchte diese Stelle einmal nutzen, um einmal breit zu erheben, welche Werkzeuge von SQL Server Professionals zur Protokollierung und Analyse von Performance-Problemen verwendet werden. Um ein differenzierteres Bild zu erhalten, ist auch eine Einordnung in „Administrator“, und „Entwickler“ sicherlich interessant.

Die Ergebnisse werde ich auf dem kommenden SQLSaturday #230 am 12. Juli in St. Augustin auf der PreCon, „From SQL Traces to Extended Events. The next big switch.“, die ich zusammen mit Mladen Prajdic gebe, präsentieren, und später mit Sicherheit noch auf dem PASS Camp sowie bei weiteren Gelegenheiten der deutschen und auch internationalen PASS - und natürlich hier in meinem Blog selber. Die Antworten können natürlich auch anonym abgegeben werden.

Im Folgenden liste ich eine Reihe von geläufigen Tools auf.

Bitte gebt Eure Stimme einfach als Kommentar wie im folgenden Beispiel ab - ich gebe ALLE Antworten (außer reinem Spam und Werbung) frei, auch Oracle-Tools ;-)

(EN-US)
In my session Session „Hasta la vista Profiler – Tracing with Extended Events“, that I have been presenting at several occasions, I used to ask the audience, which tools they used for monitoring so far.

I would like to use this platform to survey on a broader range, which tools are being used by SQL Server professionals for logging and analyzing performance-problems. In order to get a differentiated result, a classification in “Administrator” and “Developer” is certainly also interesting.

The results will be presented first at the upcoming SQLSaturday #230 on the 12th of Juli in St. Augustin/Germany at the PreCon, From SQL Traces to Extended Events. The next big switch.“, which I will be giving together with Mladen Prajdic gebe, and later on certainly also at the PASS Camp and other occasions of the German and international PASS - and of course also here in my blog itself. You can of course also keep your comments anonymously.

In the following I am listing a series of common tools.

Please simply provide your vote as a comment like in the following example – I will publish ALL answers (except plain spam/ads), even Oracle-Tools ;-)

„Administrator and/or Developer“
A 3
B 1
D 2
L 0

Dabei stehen die Zahlen für // The numbers stand for:

3: fast immer // almost all the time
2: manchmal // sometimes
1: selten // rarely
-1: das Tool ist mir unbekannt // I haven't hear of this tool

- Die Auswahl “unbekannt” auf Anregung eines Lesers (Danke!).

Werkzeuge, die nie verwendet werden gerne einfach weglassen.

Und das ist die Auswahl an Tools:

The choice “unknown” at a reader’s suggestion (Thank you!).

Tools that are not used can be simply left out.

And these are the choices of tools:

A) ClearTrace
B) Datenbankoptimierungsratgeber // Database Engine Tuning Advisor
C) Dynamic Management Views (DMV's)
D) Event Notifications
E) Extended Events unter 2008/R2
F) Extended Events unter 2012
G) Management Datawarehouse (MDW) / Data Collection Reports
H) PAL
I) PerfMon
J) RML Utilities / ReadTrace
K) SQL Diag
L) SQL Profiler
M) SQL Trace
N) Software von Drittherstellern – siehe auch O) // Third-Party Tools - also see O)
O) Andere // Other: …

- Die Reihenfolge ist alphabetisch und soll nichts implizieren :-)

Meine Liste enthält ausschließlich mit SQL Server gelieferte, sowie codeplex-Tools, es können aber auch andere angegeben werden. (Punkt „O“)

Mir ist natürlich völlig bewusst, das auch die SQL Server Version und ggf. Edition Einfluss auf die zur Verfügung stehende Auswahl hat, aber ich möchte die Umfrage auch nicht zu komplex gestalten. Das Ziel, einen Eindruck über die Verbreitung der Tracing-Gewohnheiten zu erreichen, wird so sicherlich erreicht werden können :-)

Vielen Dank an dieser Stelle schon einmal für die Beteiligung - ich bin sicher, dass es auch viele andere Community-Mitglieder gern sehen, was andere so für ihre Arbeit einsetzen.

- The order is alphabetical and not supposed to imply anything :-)

My list contains solely tools shipped with SQL Server and from codeplex, but feel free to add others (point “O”)

I am totally aware that also the SQL Server version and possibly edition have an influence on the choices available, but I also do not want to make the survey all too complex. The aim, to gain an impression on the prevalence and practices of tracing-habits will certainly be reached like that, too :-)

Thank you very much for participating – I am sure that many members of the SQL Server Community are also interested to see, what others use for their work.

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