Tag: "monitoring"

Die neue SQL Server Master-Class: Warum ein SQLSentry Bootcamp

The new SQL Server Master-Class in – why a SQLSentry Bootcamp

(DE)
Die wichtigsten Infos gerafft zuerst:
Vom 26. bis 28. Juni führe ich in Frankfurt eine neue SQL Server Master-Class durch: Das Performance Troubleshooting Bootcamp mit SQLSentry (Kürzel: PSS*) durch. Hier für die Eiligen der Link zur Anmeldung:

(EN)
First off, the most important information in a nutshell:
From 26-28 June, I am conducting a new SQL Server Master-Class: The Performance Troubleshooting Bootcamp with SQLSentry (shorthand: PSS*). For those in a hurry, the link for registration right below:

 SQL-Server-Master-Class.com/#PSS

 SentryOne Master-Class

Hintergründe zu der Master-Class Reihe

Seit 2013 führe ich unter dem Label SQL Server Master-Class 1-2 Mal jährlich (und zusätzlich je nach Bedarf inhouse bei Kunden) diese offenen Seminare durch. Das erste waren 2-Tage zu Extended Events (SQL Server Master-Class Seminare – Für Alle, die es genau wissen wollen – Start im Mai mit Extended Events).
Der Anspruch, den ich mit diesen Trainings habe, ist, die Themen in aller Tiefe und Praxisnah zu vermitteln – und damit eine Alternative oder Ergänzung zu den an verschiedenen Problemen leidenden MOC-Trainings (unrealistische Themenvielfalt, fehlerhafte Unterlagen, unerfahrene weil billige Trainer – „man bekommt, wofür man bezahlt“, etc.)  anzubieten.
Dass das gut gelingt, lässt sich hier in einigen Kundenstimmen nachlesen.

Background to the Master-Class series

Since 2013, I have been conducting these open seminars under the label SQL Server Master-Class once or twice a year (and additionally inhouse with clients, as needed). The first ones were 2-day classes on Extended Events (SQL Server Master-Class Seminars – The tools at your fingertips – Start in May with Extended Events).
With these trainings I seek an in-depth and practice-oriented approach to teaching the topics – thus offering an alternative or complement to the MOC trainings that suffer from various problems (unrealistic thematic diversity, faulty material, inexperienced because cheap trainers – “you get what you pay for”, etc.).

This has been a successful approach, as you can read in these customer reviews

Warum eine Master-Class zu SQLSentry?

Beginnen wir mal mit:

Warum SQLSentry?
Man kann sich jetzt gut fragen, warum jemand wie ich, der an sich unabhängig von Drittherstellern agiert, nun ein Training anbietet, das stark (ca. 50%) auf der Software eines bestimmten Herstellers basiert.

Das erläutere ich gerne. Dazu zunächst ein Schritt zurück:

Der Hintergrund, warum ich ungern auf bestimmte Software- (oder Hardware)-Hersteller verweise, ist, dass darauf basierende Entscheidungen dann naturgemäß auf mich zurückgeführt werden. Und es ist schon bei SQL Server selbst eine Herausforderung, das jeweils passendste („beste“, wenn man so will) Feature für bestimmte Ansprüche zu empfehlen. Das ist meine Hauptaufgabe, und dafür bin ich (zweifach) Master. Jetzt noch den Überblick über andere Software-Hersteller, deren Tools und vor allem ja variierende Qualität zu behalten, ist alles andere als trivial.

Daher muss es sich schon wirklich um das mit Abstand beste Werkzeug in einem Bereich handeln, und das auch mit genügend Kontinuität, dass ich meinen Namen damit verbinden lasse. Und so ist SQLSentry von SentryOne im Bereich Monitoring von SQL Server (aber auch SSAS, und Azure-Komponenten) ohne Zweifel eine eigene Liga.

Warum? Würde es nur ein einzelnes Merkmal sein, würde ich mich damit nicht aufhalten.

- Ganz nebenbei: gerade als MVP wird man häufig von Herstellern angeschrieben und kann deren Produkte testen oder mit Artikeln und ähnlichem mit Bewerben. – Das ist hier nicht der Fall. Diese Master-Class und dieser Artikel basieren vollkommen auf Eigeninitiative.

Why a Master-Class on SQLSentry?

Let’s start with:

Why SQLSentry?
One may wonder why someone like me who is acting independently of third-parties is now offering a training strongly based (approx. 50%) on the software of a certain manufacturer.

I am happy to elaborate on this. But first, let’s take a step back:

The reason as to why I am reluctant to refer to certain software (or hardware) manufacturers is that decisions based on them will naturally be attributed to me. And even with SQL Server itself, it is a challenge to recommend the most suitable (“the best,” if you will), feature for particular demands. That is my main task, and that is what I am a (two-fold) Master for. Keeping track of other software manufacturers, their tools and, above all, their varying quality, on top of all this, is tough.

Therefore, it must really be the very best tool in a particular area, and with sufficient continuity, before I associate my name with it. And it so happens that SQLSentry by SentryOne is without doubt its own league in the area of Monitoring SQL Server (but also SSAS and Azure components).

Why? If it was just a single feature, I would not be sticking to it.

- By the way: especially as an MVP one gets contacted a lot by software-producers and can test their products or write articles on them. – This is not the case here. This Master-Class and this article are based on my own initiative.

 

 

 

SQLSentry enthält eine Vielzahl von spezialisierten Komponenten für verschiedene Bereiche in SQL Server, von denen einige auch patentiert sind, aber ich versuche es kurzzufassen und nur die speziellsten zu nennen:

·       Der Event Calendar führt sämtliche SQL Agent Jobs, aber auch Windows Tasks sowie Auffällige Performance-Events in einem Outlook-Style Kalenderformat zusammen, und erlaubt so zeitliche Korrelationen

·       Mit Intelligent Alerting lassen sich komplexe Konditionen definieren – denn oft sind einzelne Performance-Messzahlen alleine gar nicht ausreichend für eine Bewertung. Hiermit lassen sich diese kombinieren. Und damit ist auch Pro-Aktives Monitoring möglich(!)

·       Die Disk-Activity-Ansicht zeigt SQL-Dateiverwendung im Detail grafisch aufbereitet

·       Die AlwaysOn Availability Group-Visualisierungen zeigen die Architektur als auch Auslastung der Availability Gruppen – eigentlich fehlt mir nur noch etwas Vergleichbares für Replikation :-)

·       Index- und Statistik-Analyse – von Fragmentierung bis herunter auf Histogram-Ebene

·       Chaining von Jobs – Abläufe verschiedener Komponenten über Server hinweg verketten

·       Und natürlich das Performance Dashboard selber: Dies zeigt nicht nur die Auslastung des Servers (Windows, SQL und ggfl. VM Host), sondern erlaubt es auch schnell eigene Baselines anzulegen oder auf automatisch angelegte (wie „letzte Woche“, „gestern“) zurückzugreifen und für Vergleiche zu hinterlegen.

 

SQLSentry contains a plethora of specialized components for different areas in SQL Server, of which some are also patented, but I will try to keep it short and just name the most particular ones:

  • The Event Calendar merges all SQL Agent Jobs but also Windows Tasks and striking Performance Events in an outlook-style calendar format, thus allowing for time correlations.

  • Intelligent Alerting allows you to define complex conditions – because oftentimes, singular Performance Metrics alone do not suffice for an evaluation. With this feature, they can be combined. And this is how Pro-Active Monitoring is possible (!).

  • The Disk-Activity view shows the SQL file usage in a detailed graphic representation.

  • The AlwaysOn Availability Group Visualizations show the architecture and utilization of the Availability Groups – in fact, what’s still missing is something comparable for Replication. :-)

  • Index- and statistics analysis – from fragmentation down to histogram level

  • Job Chaining – chaining processes of different components across servers
  • And of course, the Performance Dashboard itself: it shows not only the utilization of the server (Windows, SQL and possibly VM Host), but it also makes it possible to quickly create one’s own baselines or to rely on automatically created ones (like “last week,” “yesterday”) and save them for comparisons.  

 

 SQLSentry_performance-advisor_dashboard

Abgesehen von den reinen Features, welche für sich gesehen schon konkurrenzlos sind, gibt es 2 weitere Aspekte, welche für ein professionelles Performance-Monitoring-Werkzeug wichtig sind:

1.       Geringer Overhead auf das beobachtete System: Tatsächlich hat SentryOne als einziger Hersteller detaillierte Zahlen zu dem Impact auf den überwachten Server selber veröffentlicht - und dieser ist aufgrund der optimierten selbstentwickelten Technologie sehr gering – was man über andere Tools häufig anders hört.

 Apart from the mere features that are already in themselves unrivaled, there are at least 2 more aspects that are important to a professional Performance Monitoring tool:

  1. Low Overhead on the monitored system: As a matter of fact, SentryOne is the only manufacturer to have published detailed numbers on the impact on the monitored server – and due to the optimized self-developed technology, it is very low – unlike what you will often hear about other tools. 

 

SQL Sentry: Overhead Analysis: http://bit.ly/SQLSentryOverheadAnalysisDOC

 

2.       Update-Zyklen: Auch das ein wichtiger Aspekt. Das Tool wird ständig weiterentwickelt. 2-4 Updates im Jahr sind die Regel, und mit im Maintenance-Service inkludiert (wie auch der Support).

 2. Update cycles: Also an important aspect. The tool is continually being developed further. Generally, there are 2-4 updates a year, which are included in the maintenance service (as is support).
 

Das alles sind die Gründe, weshalb ich reinen Gewissens hinter meiner „Produktempfehlung“ stehen kann, wohl wissend, dass dieses auf hohem Niveau weitergepflegt wird.

Ich möchte damit allerdings nicht sagen, dass man nicht auch mal andere Tools in Erwägung ziehen sollte. Es kommt auf die eigene Umgebung an: Größe, Komplexität, Performance-Level, SLA (Reaktionszeit: Proaktiv, oder Reaktiv ausreichend?), und nochmal Zeit: Zeit, wichtige Korrelationen manuell durchzuführen, Zeit, sich bestimmte Visualisierungen selbst zu bauen. - Wer Zeit hat, für den mag eine Ersparnis von ~ 1 Consultant-Tagessatz (pro überwachten Server) sinnvoll sein, und ich würde mich auch nicht scheuen, dies ggf. selber zu empfehlen. Auch dafür kann man mich gern ansprechen. (Ich bin also keineswegs SentryOne gegenüber irgendwie verpflichtet.)

These are the reasons as to why I can back my “product recommendation” with a clear conscience, knowing well that this product will be further maintained and updated at a high level on an ongoing basis.

However, I do not mean to say that one shouldn’t also consider other tools from time to time. It depends on one’s environment: Size, complexity, performance level, SLA (reaction time: proactive, or is reactive sufficient?), and, again, time: Time to manually execute important correlations, time to build certain visualizations oneself. – For those with time on their hands, a saving of approx. 1 consultant day rate (per monitored server) may make sense, and I would not hesitate to recommend this myself. That’s also what I am here to help with. (So just to be clear, I am in no way obliged to SentryOne.)

 

Warum nun eine Master-Class zu SQLSentry?

Kommen wir nun zu der Eingangsfrage, nachdem das Tool der Wahl begründet ist:

Ganz einfach: Die Nachfrage. Ich habe mittlerweile einige Kunden, die mit SQLSentry arbeiten. Und da dieses Tool wie beschrieben umfangreich und mächtig ist, macht es hochgradig Sinn, den Umgang damit und die Konfigurationsmöglichkeiten im Detail zu erlernen, um die gesetzten Ziele:(Proaktives Monitoring, Zeit-effektives Troubleshooting, zu erreichen.

So why a Master-Class on SQLSentry?

Having justified the choice tool, let’s now turn to the initial question:

It’s simple: The demand. I have several clients by now who work with SQLSentry. Since this tool is comprehensive and powerful, as described above, it makes absolutely sense to learn the handling and configuration possibilities in detail in order to achieve the set goals: proactive monitoring, time-efficient troubleshooting.

 

Ich habe mich außerdem entschlossen, das Training ca. 50-50 aufzuteilen in native SQL Techniken und spezifische Bedienung von SQLSentry. Der Grund hierfür ist, dass meiner Meinung nach eine gewisse Kenntnis der internen Mechanismen und Beobachtungsmöglichkeiten von SQL Server zum einen dem Verständnis dienen, warum SQLSentry dies oder jenes so oder so macht, und zum anderen im Verlauf des praktischen Troubleshootings immer mal ein Ausflug auf den SQL Server direkt Sinn macht.

On top of that, I decided to split the training about 50-50 into native SQL techniques and specific handling of SQLSentry. The reason is that in my opinion, a certain knowledge of SQL Server’s internal mechanisms and monitoring possibilities serve, for one, the understanding of why SQLSentry does this or that in such and such a way, and, secondly, an occasional excursion directly to the SQL Server makes sense over the course of a practical troubleshooting. 

Daher werden wir sowohl mit dem Windows-Performance-Monitor, kurz Perfmon, Dynamic Management Views (DMVs), und Extended Events („Erweiterte Ereignisse“) arbeiten, die für Tiefenanalysen das Mittel der Wahl sind, und deren Verwendung hier erlernt wird. Für die Erkennung von Plan-Regression bietet sich natürlich die SQL Server Query Store an.

Mit all diesen Techniken werden wir uns verschiedene Szenarien ansehen:

·       Memory Probleme

·       Identifizieren von Plan Regression

·       Analyse von Indexen & Statistiken

·       Erkennen von I/O Latenzproblemen

·       Untersuchen von Tempdb-Performance

·       Locking & Blocking Analyse

·       Deadlocks

Therefore, we will be working with the Windows Performance Monitor (short: Perfmon), Dynamic Management Views (DMVs), and Extended Events, which are the tools of choice for In-Depth-Analysis, and whose use will be learned here. For the identification of Plan Regression, SQL Server Query Store of course lends itself for this purpose.

With all these techniques we will be looking at different scenarios:

  • Memory problems

  • Identifying Plan Regression

  • Analysis of Indexes & Statistics

  • Identifying I/O Latency problems

  • Analyzing Tempdb Performance

  • Locking & Blocking Analysis

  • Deadlocks

Wer sich noch einen der jetzt schon raren Plätze sichern möchte (innerhalb von 2 Wochen ist das Seminar bereits zu 70% ausgebucht, und dabei ist der Early-Bird-Tarif noch bis 23.5. aktiv), hier nochmal der Link zur Anmeldung und weiteren Infos:

If you would like to secure one of the rare spots (the seminar was already booked 70% within 2 weeks, even though the Early Bird Offer still applies until 23 May), below find once more the link for registration and further information:

 

SQL-Server-Master-Class.com/#PSS

 

bis bald  -- see you soon

Andreas

 

*Insider erkennen die Anleihe für „PSS“, das auch für „Product Support Services“ steht, und dass „PSS Diag“ ein Tool zum Sammeln von Performance-Daten ist, das auch das SQL Server PSS-Team verwendet ;-)

 

PS: Für diesen Blog-Post habe ich keinerlei Vergütung durch irgendeinen Hersteller erhalten ;-)

*Insiders will recognize the innuendo for “PSS,” which also stands for “Product Support Services,” and will also know that “PSS Diag” is a tool for collecting Performance data that is also used by the SQL Server PSS team ;-)

 

P.S.: For this blog post, I have received no remuneration whatsoever by any manufacturer ;-)