DISABLE and DENY LOGIN, DENY USER & Effect on Impersonation and Permissions
Mar 7th
DISABLE und DENY LOGIN, DENY USER & Effekt auf Impersonierung und Berechtigungen
(de) |
(en) |
Immer mal wieder kann man beobachten, dass Logins oder Usern die Connect-Berechtigung verboten bekommen wurde, oder ein Login deaktiviert wurde. Die richtige Erwartung und Verständnis kann daher kritisch sein. Sehen wir uns also eine einfache Demo an: |
Every once in a while one can observe that Logins or Users have been denied the Connect permission or a Login has been disabled. Therefore a correct expectation and understanding can be critical. So let’s see a simple demo: |
Ich deaktiviere also das sa-Konto ebenso wie das „DeniedLogin“-Konto – letzterem verbiete ich außerdem die Connect-Berechtigung (Erinnern wir uns daran: „Berechtigungen können nicht für sa, dbo, Entitäts-Besitzer, information_schema, sys oder für den Benutzer selbst erteilt, verweigert oder aufgehoben werden.“) Der Datenbank-User „SQLUser“ bekommt die Connect-Berechtigung auf die Datenbank verboten. |
So I am disabling the sa-account as well as the “DeniedLogin”-Account – the latter I also Deny the Connect permission (Remember we “Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself.”) The Database-User “SQLUser” gets denied the Connect permission on the database. In the GUI the result looks like this: |
Nun führen wir 4 Tests durch: |
Now let’s run 4 tests. |
Was diese Abfragen im Wesentlichen machen, ist, zu versuchen, den entsprechenden Login oder User zu impersonieren – und den Erfolg dadurch belegen, dass sie die dann jeweils aktiven Rollen-Mitgliedschaften zurückgeben. |
So essentially what those queries do, is trying to impersonate the respective Login or User – and proofing success by returning the then respective active role-memberships. Results: |
DeniedLogin: Impersonierung funktioniert + kein Verlust an Berechtigungen. |
DeniedLogin: Impersonation works + No loss of permissions. |
Dasselbe gilt für den sa: Impersonierung funktioniert + kein Verlust a Berechtigungen. Im Folgenden ein Test für den User, dem die Connect-Berechtigung auf die Datenbank entzogen worden ist – und nicht als Login verwendet werden kann. |
Same applies for sa: Impersonation works + No loss of permissions. In the following test for the User which has been denied the Connect-permission onto the database – and cannot be used as a Login. |
Ergebnisse: |
Results: Msg 15517, Level 16, State 1, Line 3 Cannot execute as the database principal because the principal "DeniedLogin" does not exist, this type of principal cannot be impersonated, or you do not have permission. Msg 916, Level 14, State 1, Line 3 The server principal "S-1-9-3-4049223906-1289824279-1154161590-488313048." is not able to access the database "ImpersonateLogin" under the current security context. |
Das Ergebnis ist für beide Datenbank-User effektiv das gleiche. Die GUID repräsentiert keinen reellen Server-Prinzipal, denn der User SQLUser hat keinen entsprechenden Login. Der Unterschied für den 2. User ist, dass dieser User nur innerhalb der Datenbank existiert, aber zugleich expliziert verboten wurde, sich mit ihr zu verbinden Das hat im Endeffekt dasselbe Resultat, wie ihn zu deaktivieren – genau wie der Guest-User es ist. |
The GUID does not represent a real server-principal, because the User SQLUser does not have a matching Login. The difference for the second user is, that this user only exists inside the database but at the same time has been explicitly denied to connect to it. This has essentially the same result as “disabling” it – just as the guest-user is. |
Damit wäre gezeigt, dass das Deaktivieren von Logins keinerlei Sicherheit gegenüber Angriffen von Innen gibt. Und sogenannte Privilegien Erweiterung findet in aller Regel z.B. von innen heraus statt. Auch der alte „Trick“, die Standard-Datenbank des Logins zu löschen, ist da keine Hilfe. Für Datenbank-User hat es durchaus Effekt und verhindert das Anmelden an der jeweiligen Datenbank – auch „von Innen heraus“.
|
Thereby it is shown, that disabling of Logins does not give any security against attacks from inside. And so-called privilege elevation (/-escalation) usually takes part from internal. Also the old “trick”, to drop the default-database of a Login, is of little help. For database-users is indeed does have an effect and prevents logon/connect to the respective database – also “from inside”. |
Konsequenterweise bleiben alle Berechtigungen (natürlich abgesehen von dem jeweiligen Deny) der jeweiligen Logins und User absolut unbeeinflusst von einer Deaktivierung jeglicher Weise. Das gilt auch im Zusammenhang mit „External Access“-Berechtigung für Logins basierend auf asymmetrischen Schlüsseln. ALTER LOGIN ist auch hier in BOL erklärt: technet.microsoft.com/en-us/library/ms189828.aspx
Ich hoffe, diese Dinge erklären einiges und speziell Empfehlungen in Sicherheits-Aspekten. |
Consequentially all permissions (besides the one denied of course) of the respective Login and User stay totally unaffected by and method of deactivation. This is also true in the context of “external access”-permission for Logins based on asymmetric keys. ALTER LOGIN is also explained in BOL here: technet.microsoft.com/en-us/library/ms189828.aspx
I hope those things clarified some things and especially recommendations in security-matters |
Happy securing
Andreas
Upcoming Conferences: SQLSaturdays in Denmark and Portugal. – Presenting In-Memory OLTP Deep-Dive for Administrators
Mar 3rd
(de) Am 29. März in Kopenhagen, Dänemark Da ich auch letztes Jahr bereits in Kopenhagen als Sprecher dabei war, kann ich aus erster Hand für die exzellente Organisation und Sprecherauswahl verbürgen. Und für Portugal verbürgt mein sehr geschätzter Kollege Niko Neugebauer (Blog, Twitter:@NikoNeugebauer) – nach allem, was bisher „geleaked“ ist, wird es wieder ein Kongeniales Event. Würdig der ersten SQLSaturday-Location in Europa überhaupt. |
(en) On March 29th in Copenhagen, Denmark Since I already participated as a speaker in Copenhagen last year, I can avouch from “insider information” for the excellent organization and speaker choice. And my much valued collegue Niko Neugebauer (Blog, Twitter:@NikoNeugebauer) vouches for Portugal – after all what has “leaked” in th emeantine, it will be another congenial event. Condign to the first SQLSaturday-Location in Europe ever. |
Ich möchte zumindest einige, mir persönlich bekannte Sprecher namentlich erwähnen, aber gleich betonen, dass auch alle anderen Sessions definitiv einen Blick Wert sind(!): In Dänemark sind dabei:
|
I would like to at least name some speakers, which I personally know, by name, but I would also like to stress immediately, that also all other sessions are definitely worth looking at just as well: In Denmark there will be:
I am excited to see all of you again soon! The complete Agenda can be found here: www.sqlsaturday.com/275/schedule.aspx I am excited to see all of you again soon in Copenhagen! |
In Portugal sind dabei:
Die vollständige Agenda befindet sich hier: |
In Portugal there will be:
The complete Agenda can be found here: www.sqlsaturday.com/267/schedule.aspx I am excited to see all of you again soon in Lisbon! |
Und meine Wenigkeit, was präsentiere ich? |
And my humble self, what am I presenting? |
SQL Server 2014 In-Memory OLTP / XTP Management Deep Dive
@SQLSaturday Denmark & Portugal
You have heard about Hekaton, respectively the new acronym XTP (eXtreme Transactional Processing) and you want to know how it works under the cover? In this session we will take a closer look at the architecture, where the performance benefits come from and how it works in detail. What kind of files is SQL Server using for transactional consistency, what happens when you delete data inside the log and inside the data files. We will see the Merge-Process and the Garbage Collector in action, see how memory management works for XTP enabled databases, and thereby get an in-depth understanding of how this completely new storage engine works and how to optimize for it.
CU in Copenhagen, Lisbon.. or at another conference soon :-)
Andreas
Spezialrabattaktionen: 22% zum Jubiläumsjahr der PASS Deutschland e.V für Sicherheits- XEvent Tracing, sowie SQL Server 2014 Seminare + 10% Microsoft TechNet Aktion für alle
Feb 25th
Damit auch alle, die vor 2 Wochen nicht auf der SQL Konferenz in Darmstadt (www.sqlkonferenz.de) waren, oder nicht regelmäßig bei TechNet vorbeischauen, eine Chance haben, poste ich es hier einmal öffentlich:
1) Zum Jubiläumsjahr der PASS Deutschland e.V erhalten alle Mitglieder den „Jubiläums-Rabatt“ von 22 Prozent (!) auf die folgenden SQL Server Master-Classes:
(SES) SQL Server Security Essentials für Entwickler & Administratoren – am 3. April 2014 in Düsseldorf
- Dieses Seminar ist für alle Einsteiger geeignet, die hier alle Grundlagen für die Sicherheitsverwaltung & Architektur von SQL Server erlernen.
(SIA) Securityworkshop for SQL Server Administrators (advanced) – 4. April 2014 in Düsseldorf
- In diesem Workshop werden sicherheitsrelevante Internas der Authentifizierung, das Konzept der Contained Databases, Daten- & Backupverschlüsselung mit Transparent Data Encryption (TDE) bis hin zu Überwachungstechniken in SQL Server erlernt.
(XE1) Einsteiger-Workshop Tracing mit Extended Events in SQL Server - am 7. März 2014 in Frankfurt am Main
- Das Grundlagentraining für alle, die den Nachfolger von SQL Trace & Profiler von Grund auf beherrschen möchten.
(XE3) FastTrack to Tracing with Extended Events for SQL Server - am 1. April 2014 in Frankfurt am Main
- Für Einsteiger, die die Funktionalitäten und Einsatzmöglichkeiten der Extended Events von A-Z an einem verlängerten Tag kennenlernen möchten.
(UP2014) Aktualisierung der Kenntnisse von SQL Server 2012 auf SQL Server 2014 - am 15. Mai 2014 in Frankfurt am Main
- Der neue SQL Server 2014 steht vor der Tür. Von Buffer-Pool Erweiterungen bis zu In-Memory OLTP enthält dieser viele wichtige neue Technologien, die an diesem Tag praxisnah kennengelernt werden.
(XTC) Workshop In-Memory OLTP & ColumnStore - New Storage Engines in SQL Server 2014 - am 16. Mai 2014 in Frankfurt am Main
- An diesem eintägigen Workshop werden die neuen und verbesserten In-Memory Technologien XTP für extrem performantes OLTP und Clustered Columnstore Indexes für DataWarehousing in aller Tiefe praktisch kennengelernt.
Und das ist der Gutschein-Code (exklusiv für Mitglieder der PASS Deutschland e.V.):
10PASSDE2014 *1 *2
Tipp: jeder kann sich jederzeit noch schnell und kostenlos(!) als Mitglied bei der PASS Deutschland e.V. anmelden – Details dazu auf der Webseite der PASS: www.sqlpass.de/Mitgliedschaft/Mitgliedwerdenistkostenlos.aspx
2) Außerdem freue ich mich, noch auf eine andere Aktion, und zwar in Zusammenarbeit mit der Microsoft Technet IT Pro Academy hinweisen zu können. Für ausgewählte Seminare gibt es einen speziellen Rabattcode *1, der hier über die TechNet-Seite zu finden ist: technet.microsoft.com/de-de/bb291022?it_product=sql-server&it_topic=zertifizieren, für 10% auf weitere Seminare:
(PAT) Workshop Performance und Analyse, Techniken & -Tools - 17./18. März 201
(SHA) Workshop Hochverfügbarkeit für SQL Server - 6./7. Mai 2014
*1 Rabatt-Codes können nicht mit anderen Codes kombiniert werden
*2 Dieser Code ist gültig bei Verwendung bis zum bis 30.4.2014
Und hier findet Ihr die Gesamtübersicht der SQL Server Master-Classes und Links zur Anmeldung:
www.sarpedonqualitylab.com/SQL_Master-Classes.htm
Viel Spaß beim Lernen wünscht
Der Andreas
Microsoft Certified Solutions Master Data Platform (SQL Server 2012)
Microsoft Certified Master SQL Server 2008
Microsoft Certified Trainer
SQL Server Row- and Cell-Level Security – Disclosure vulnerability // Schwachstellen in Zeilen-basierter Sicherheit
Jan 16th
(de) |
(en) |
Im Folgenden werden wir ein recht verbreitetes Szenario sehen, wie Sicherheit auf Zeilenebene / Row-Level Security (und auch Zellenebene/Cell-Level Security) implementiert werden kann. Die Architektur ist recht einfach: |
In the following we will see a quite common scenario of how Row-Level Security (and also Cell-Level Security) can be implemented. The architecture is quite simple: Of course there are also more complex designs with intermediate tables and multi-role-memberships/permissions, but it all comes down sharing the same vulnerability which I am about to demonstrate. First of all here's a diagram of the high-level architecture: |
Sehen wir uns das ganze also an. |
So let’s see it in action. |
Die Spalte „Role“ wird von der Sicht verwendet, um die jeweilige Zeile, unter Verwendung der IS_MEMBER()-Funktion nur Mitgliedern der jeweils hinterlegten Datenbankrolle durchzureichen. |
The column “Role” is used by the view to return the respective row by using the IS_MEMBER()-function only to members of the respectively stored database-role. |
Benutzer, Rollen und Berechtigungen: |
User(s), Roles and Permissions: |
Erinnern wir uns, was die Tabelle enthält: |
Now, remember what our table contains: |
In einer heilen Welt, vor dem Sündenfall, wäre dies ausreichend. |
So in an innocent world, before the fall of mankind, this would be sufficient. |
- Natürlich wird die Funktion User_Name() nur für Demo-Zwecke eingesetzt. |
- Of course the function User_Name() is only used for demo-purposes. |
Angriff |
Attack |
Und das Ergebnis ist: |
And the result is: |
Nicht „schön“, aber wir haben, was wir wollten: die „geschützten“ Daten. Der bereits geschulte Leser erkennt diese Form des Angriffs vielleicht aus einem anderen Bereich wieder: SQL Injection. |
Not exactly “pretty”, but we got what we want: the “protected” data. The well-educated reader may remember this kind of attack from a different area as well: SQL Injection. |
Einigen kommt das Bild vielleicht schon bekannt vor :-) Stellt sicher, dass das nicht Euer "Vorgarten" ist! Wo wir davon reden: |
To some, this picture may already look familiar :-) Make sure it’s not your "front-yard"! Speaking of which: |
Schutzmaßnahmen Was kann man gegen solche Angriffe tun? 1) Einsatz von gespeicherten Prozeduren, die alle Fehler abfangen, oder, wenn man unbedingt mit Sichten Arbeiten möchte, der Einsatz einer dazwischengeschalteten Multi-Statement-Tabellenwertfunktion 2) Datenverschlüsselung (Nicht TDE!) 3) Ähnlich wie 1, Aufbau einer Mittelschicht in der Anwendung, die derartiges unterbindet. Und schlussendlich sollte man für kritische Daten auch über eine Überwachungslösung nachdenken. |
Security-measures What can prevent such forms of attack? 1) The use of stored procedures which catch all errors, or, if one really wants to use views for some reason, using of a multi-statement table valued function which will be put between. 2) Data encryption (Not TDE!) 3) Similar to 1, implementation of a mid-tier in the application which prohibits such actions. Finally one should also think about an Auditing solution for critical data. |
Die hier gezeigte Technik der Row-Level Disclosure ist nicht wirklich etwas Neues, wird aber gerne immer mal vergessen. |
The technique of Row-Level Disclosure shown above isn’t really new, but frequently forgotten about. |
Implementing Row- and Cell-Level Security in Classified Databases Using SQL Server 2005
Happy securing,
Andreas
Wer sich ermuntert fühlt, nun einmal richtig in das Thema „Sicherheit mit SQL Server“ einzusteigen, für den habe ich auch 3 erstklassige Trainings im Angebot: |
If you now feel encouraged to really dive into the subject of “Security with SQL Server”, I do have 3 first-class Trainings on offer: |
Für Beginner, die hier einen guten Überblick erhalten und Grundlegende Kenntnisse erlernen: |
For Starters, who gain a good overview and learn essential knowledge in the basics: |
(SES) SQL Server Security Essentials for Developers & Administrators (1 day) |
|
Für Administratoren, die fortgeschrittene Sicherheitskonzepte umsetzen müssen: |
For Administrators that have to implement advanced security concepts: |
(SIA) Securityworkshop for SQL Server Administrators (advanced) (1 day) |
|
Für Entwickler, die fortgeschrittene Sicherheitskonzepte umsetzen müssen: |
For Developers that have to implement advanced security concepts: |
(SID) Securitysworkshop for SQL Server Developers (advanced) (1 day) |
MCSM (Microsoft Certified Solutions Master) Data Platform on SQL Server 2012
Jan 2nd
(de) Seit 31.12.2013 bin ich nicht mehr „nur“ Hier ist der Eintrag auf dem „Master-Blog“: :-) |
(en) Since 31 December 2013 I am no longer “merely” Here the entry on the „Master-Blog“: :-) |
MCSM: Data Platform Solutions Master Der wahrlich krönende Abschluss eines Jahres mit mehr als einem Dutzend Vorträgen auf deutschen und internationalen Konferenzen, die ich aufgrund der Einstellung der „fortgeschrittenen Zertifizierungen“ durch Microsoft schwerlich noch toppen werden kann. Zugleich ist das ein super Einstieg für 2014. Die Entscheidung, auch diese Zertifizierung noch anzustreben, habe ich erst relativ spät getroffen: auf dem deutschen PASS Camp. Die Zeitplanung dafür konnte ich jedoch erst Mitte Dezember angehen. Und so lief es ab: |
MCSM: Data Platform Solutions Master This makes for a truly crowning conclusion of a year with more than a dozen presentations at German and international conferences, which I will hardly be able to outdo due to Microsoft’s shutting down of the “advanced certifications”. At the same time, it is a great start into 2014. I have made the decision to pursue this certification fairly late – at the German PASS Camp. However, I could only tend to the timing in mid-December. This is how it went: |
Am 17.12. habe ich mich für das Knowledge-Examen für den 18.12. angemeldet. Absolviert habe ich es dann innerhalb von knapp zwei Stunden bei einem Zwischenstopp auf dem Weg nach Hamburg zu einem Kunden. Exam 88-986: MCSM Data Platform Knowledge Exam Die Ergebnisse erhielt ich prompt. Am 31.12. war noch ein Slot von 16:00 - 23:30 Uhr frei. Erfreulicherweise konnte dieser dann kurzfristig noch einen Tag vorverlegt werden, so dass ich nicht bis kurz vor Neujahr am Rechner sitzen musste. Da ich an den Feiertagen dann auch noch zweimal quer durch Deutschland fuhr, war eigentlich ohnehin nur wenig Gelegenheit für intensives Lernen. Am Freitag vorher habe ich noch meine Umfrage zu Datenbankbesitz & Sicherheit gestartet (an der teilzunehmen ich euch alle herzlich einlade) und hatte dann noch ein Wochenende, mich geistig fit zu machen. Das Wissen, dass dies die letzte Gelegenheit sein würde, da Microsoft diese Prüfung am 31.12.13 letztmalig durchführte, hat ordentlich Druck erzeugt: Es würde keine Wiederholungschance geben. Letztlich war auch keine nötig: ich habe bestanden. |
On 17 December, I signed up for the Knowledge Exam to be taken on 18 December. I then passed the exam within just under two hours during a stopover on my way to a customer in Hamburg. Exam 88-986: MCSM Data Platform Knowledge Exam I received the results immediately. They had a slot available on 31 December, from 4 pm to 11:30 pm. Fortunately, they were able to move it to one day earlier on short notice so that I did not have to end up staying at the PC just shortly before New Year’s. Since I was also travelling across Germany during the holidays, it actually left only few occasions for intensive study. That previous Friday, I also launched my survey on Database Ownership & Security (to which I am inviting you all cordially to participate) and thus had one weekend to prep myself mentally. Add to this the extra pressure of knowing that this would be the last opportunity, as Microsoft carried out this exam one last time on 31 December 2013: meaning, there would be no chance to retake the exam. Which, ultimately, was not necessary: I passed the exam. |
Exam 88-987: MCSM Data Platform Lab Exam Zum Lab-Examen selber: Im Gegensatz zu den 5:25 Stunden für das „Exam 88-971: SQL Server 2008 Microsoft Certified Master: Lab Exam“ waren für das MCSM-Lab 7 Stunden angesetzt. Entsprechend gab es auch mehr Aufgaben. Genauer darf ich darauf nicht eingehen. Als vermutlich letzter Prüfling darf ich aber sagen: Es hat Spaß gemacht! Und alle Mühen für den MCM und MCSM waren es Wert. |
Exam 88-987: MCSM Data Platform Lab Exam About the Lab Exam: Contrary to the 5:25 hours allotted for the „Exam 88-971: SQL Server 2008 Microsoft Certified Master: Lab Exam“, it was 7 hours for the MCSM-Lab. Correspondingly, it consisted of more tasks as well. Evidently, I cannot go into detail. However, presumably being the last examinee, I may say: It was fun! And all the efforts for the MCM and MCSM were worth it. |
Noch ein paar Statistiken zum Ende des „Rennens“: Weltweit gibt es (Stand 2.1.2014): |
Some statistics at the end of the “race”: Worldwide, there are (as of 2 January 2014): |
MCM SQL Server 2005 |
MCA SQL Server 2005 |
MCM SQL Server 2008 |
MCA SQL Server 2008 |
MCSM Data Platform |
33 |
23 |
154 |
7 |
6 |
Quelle // Source: Microsoft Certified Masters and Architects: Microsoft SQL Server
- Ich nehme an, dass noch zwei bis drei Master dazukommen, wenn die letzten erfolgreichen Kandidaten veröffentlich werden. Ich werde diese Liste also in ein paar Tagen noch einmal updaten. |
- I suppose two or three more Masters will join the ranks once the last successful candidates are made public. So I am going to update this list in a few days. |
Dieser Liste nach haben also nur sechs Experten diese Zertifizierung auf dem SQL Server 2012 abgeschlossen. Die meisten „Neuen“ haben sich also weiter auf SQL Server 2008 prüfen lassen. Davon kommen zwei aus dem europäischen Raum (beide aus Finnland), womit ich im gesamten deutschsprachigen Raum der zugleich erste und letzte mit diesem Abschluss bin. Damit habe ich die Antwort auf meinen Artikel vom September „Wer wird der letzte MCM SQL Server ;-) ?“ wohl selbst gegeben… ;-) Schade, dass es so wenige versucht und/oder geschafft haben. Denn seien wir ehrlich: Der MCM/MCSM ist keine „Guru-only-Zertifizierung“, sondern er bestätigt praktische Erfahrung. Wenn man über diese auch in der Breite, von Sicherheit über Performance-Tuning, Datenbankdesign bis hin zu Hochverfügbarkeit und Datenwiederherstellung verfügt, dann kann man ihn in einem oder zwei Zügen, um sich an das Prüfungsformat zu gewöhnen, bestehen. – „Konnte“ muss man nun sagen. In jedem Fall meine Hochachtung an alle, die sich den Prüfungen gestellt haben. |
According to this list, there are only six experts to have passed this certification on the SQL Server 2012. Most of the “new ones” thus have undergone the exam on SQL Server 2008. As it turns out, I have provided the answer to my article from September, “Who will be the last MCM SQL Server ;-)?” myself… ;-) It’s too bad that only so few have tried and/or made it. Because, let’s be honest: The MCM/MCSM isn’t a “guru-only-certification,” but rather it verifies practical experience. If one has it also in its broadness, from security to performance tuning, database design to high availability and data recovery, one can, or rather could have, pass(ed) the certification in one shot, or two, to familiarize oneself with the exam format. In any case, kudos to those who endeavored the exams. |
Update (3.1.): Warum habe ich mir also diese Prüfung noch „angetan“, obwohl die Zertifizierung ab dem 1.1.2014 nicht mehr erhältlich ist? Sodann gibt es einen ganz rationalen Grund: Und schon immer lege ich Wert darauf, meinen Kunden einen „zertifizierten“ Beleg bieten zu können, auf den aktuellsten Technologien absolut und umfassend fit zu sein. Im Prinzip also kein wesentlicher Unterschied dazu, warum ich 2012 den MCM abgelegt habe. Und zuguterletzt gibt es noch einen persönlichen Grund:
|
Update (3 January): Why have I even bothered to take this exam when the certification is no longer available as of 1 January 2014? Then, there is a plainly rational reason: Also, I have always been attaching great importance to offering my customers a “certified” proof, and to being absolutely and comprehensively versed in the latest technologies. Basically, it is hardly any different as to why I have done the MCM in 2012. And last but not least, there is a personal reason as well: |
Für alle, die jetzt knapp gescheitert sind, oder es generell erst für später anvisiert hatten: Letztlich sollte man vor allem einfach des Wissens wegen Lernen. Ob zertifiziert oder nicht: die Erweiterung der eigenen Kenntnisse und praktische Erfahrung ist immer eine gute Sache. Zertifizierungen bieten vor allem Vergleichbarkeit und Standardisierung. Insofern ist der Wegfall vor allem für die Leute „auf der anderen Seite des Verhandlungstisches“ bedauerlich. In diesem Sinne |
To those of you who just narrowly failed the exam or had planned on taking it at a later time: Don’t be demotivated by the discontinuation of this highest technical certification. At the end of the day, one should study, above, all, for the sake of knowledge. Whether certified or not: expanding one’s knowledge and skills is always worthwhile. First and foremost, certifications offer comparability and standardization. Consequently, the discontinuation is regrettable in the first place on behalf of the people “on the other side of the negotiation table.” In this spirit, |
Happy studies,
Andreas
MCM SQL Server, MCSM Data Platform
Danksagung: Ich möchte folgenden Personen Dank sagen, die dieses Examen mit möglich gemacht haben: |
Acknowledgements: I would like to express my gratitude to the following people who have made this exam possible: Cindy McCormack, who planned my Lab Exam and its last-minute bringing forward; Ralph Beatty, who proctored my exam from Redmond as early as from 5 am; Bob Taylor (Twitter: @SQLboBT | Blog) for grading my exam almost immediately afterwards and informing me on December 311th that I passed – plus for all the work for the MCM Community in general and even after expiration of his function(!) as MCM-Program Manager. |