Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL Server 2016 Grundkurs: Administration

SQL Server Trace

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Anstatt mit dem SQL Server Profiler als eigenständige Anwendung zu arbeiten, können Sie per SQL Server Trace die Ablaufverfolgung über ein Skript ausführen. Wie Sie ein solches Skript erstellen und ausführen, erklärt Ihnen dieser Film.
08:27

Transkript

Der SQL SERVER PROFILER ist von Microsoft "deprecated" gekennzeichnet. Das heißt, es wird in der zukünftigen Version von SQL SERVER in der Form nicht mehr geben. Was sicherlich ein Problem des Profilers ist, dass es eine eigenständige Anwendung ist. Also wie immer hat alles Vor- und Nachteile, die ja auch wiedermal erzeugt, wenn die Daten durch das graphische User Interface geschliffen werden, um sie dort noch mal darzustellen. Es gibt eine Alternative- SQL SERVER TRACE. Was ist ein SQL SERVER TRACE? Ich führe das Ganze per Script aus, und nicht aus dieser grafischen Oberfläche in Echtzeitdarstellung. Dazu wähle ich Datei "Neue Ablaufverfolgung", bereite mir im Grunde genommen meine Ablaufverfolgung vor, "Trace_Datum_Zeit", machen wir mal eine "2". Sage an der Stelle in Datei speichern, das bleibt wieder meine Vorlage. Ich nehme jetzt mal aus dem Bereich "Locks" hier, um eine andere Vorlage zu verwenden. Mein Dateigröße, mein Rollover, also dass mehrere Dateien aufgemacht werden sollen, falls eine Datei entsprechend befüllt ist. Gucke, ob ich jetzt zusätzlich Events dazu nehmen will oder Spalten oder Filter. Ich lasse das jetzt mal in den Standardeinstellungen und starte das Ganze, halte es an, gehe anschließend auf Datei, und jetzt sieht man, dass es hier die Möglichkeit gibt, das Ganze zu speichern, als Ablaufverfolgungsdatei, als -vorlage. Das heißt, ich habe hier so ein bisschen "Vorlagen", "Neue Vorlage", "Vorlagen importieren, exportieren", ich kann hier auch unten über den Punkt "Export" sagen, also mit den Vorlagen ist es so, dass es dort, wo ich die Vorauswahl habe, dass ich dann natürlich auch eigene erstellen kann, die ich dann importiere und exportiere. Ich kann jetzt hier hingehen und sagen, ich möchte ein Script für die Ablaufverfolgungsdefinition erstellen. Also diesen Punkt, wähle den aus, nenne das "Trace_Definition". Ist ein SQL-Script, also nicht die Endung "trc", es ist nicht eine ausgeführte Trace, sondern einfach eine Trace Definition. Schließe den Profiler, beende das. Man hat jetzt hier eine SQL-Script, Doppelklick, "Management Studio", und öffne dieses Script. Ich kann jetzt erkennen, hier steht "Created by: SQL Server Profiler", also ich habe mein Textkommentare. Wenn ich das entferne, und mal schaue was übrig bleibt, haben wir hier oben Variablen, also "Declare ID", "Trace ID", "Maxfilesize", also meine maximale Größe wird hier gesetzt auf 500, das war das, was ich in der Oberfläche eingestellt habe. Man sieht hier, dass eine Prozedur aufgerufen wird, "exec=sp_trace_create", dass der Trace created wird und hier steht "InsertFileName". Ich suche mir einen Pfad, dazu einen Dateinamen, nehme ich mal Software hier, zum Beispiel, so. Gehe in die Vorlage, füge das hier ein, schreibe das von Hand, "Software" und "Trace". Das ergänzt sich selber, hier kommen die Events. Was ich hier erkenne, ist, dass jetzt mit "exec sp_trace_event" oder "set_trace_event", die Events festgelegt werden. Das bedeutet, ich habe das Event 148 mehrmals und habe dann jeweils zu dem Event die Spalten, die ich aufzeichnen möchte. Dann kommt das nächste Event: 26, 25 und so weiter. Die tauchen also deswegen mehrfach auf, weil dann die Spalten mit eingegeben sind. Und hier unten habe ich Filter, wenn ich Filter definiert habe. Beziehungsweise hier mit "sp_trace_setstatus_1" wird der Trace letztendlich gestartet und ausgeführt. Das was ich jetzt hier nicht drin habe, also dieses 1 ist der Parameter, der ihn startet. Ich kann das jetzt mal nehmen und ergänzen. Kann zum Beispiel mit Null oder mit Zwei dann steuern, ob der Trace angehalten werden soll, ob er beendet werden soll. Wenn ich natürlich dazu gezielt weitere Informationen brauche, finde ich die sehr einfach, ich gehe dazu ins Internet, gebe einfach mal den Begriff ein "sp_set_tracestatus", scrolle dann ein Stück runter, wo die Beispiele kommen, und hier sieht man schon Status Null, beendet, Status 2 schließt das Ganze, kann also sozusagen beenden, schließen, und 1 so ein Trace starten. Wenn ich jetzt das Script nach oben markiere und ausführe, habe ich noch eine gute Anweisung mit drin, das heißt, ich habe das natürlich nicht vollständig ausgeführt, das nehme ich mal weg, so "declare", "if" eben war aus, Kommentare nehmen wir aus an der Stelle und jetzt bis zu der Zeile, wo der Trace gestartet wird, führe das aus. Jetzt kann ich schauen in meiner Verzeichnisstruktur, bin in Software, hier, wo die Datei angelegt vom Profiler, habe jetzt im SQL SERVER in dem Fall das Event oder habe jetzt hier meine Abfragen, die gibt es schon, (unverständlich) in der Tabelle 2 angelegt wird, hier einfach eine Beispielabfrage. Ja, und im Hintergrund wird das Ganze aufgezeichnet. Wie lange läuft das? Es gibt jetzt entweder den Fall, dass ich hier den Trace beende, hier wird allerdings eine Variable verlangt: "Trace ID", und ja jetzt ist es die Frage, welche "Trace ID" hat das Ganze, hat das "Trace ID" 1, 2, 3. Was im Grunde genommen wichtig ist beim SQL SERVER, was man wissen muss, wenn man sich in die Verzeichnisstruktur bewegt, die "Standardverzeichnisstruktur", "Programme", "SQL SERVER", habe jetzt hier meine "Instanz3", "MSSQL SERVER" und "Log", dass hier ein sogenannter Default Trace läuft, der die Trace ID anzeigt. Der läuft im Grunde genommen immer mit im Hintergrund, so dass mein Trace, den ich jetzt zusätzlich habe, hier an der Stelle die "Trace ID 2" hat, wenn er noch nicht automatisch beendet wurde, weil zum Beispiel die maximale Dateigröße erreicht wurde von 500 MB, die ich jetzt eingestellt habe, und kein Rollover. Ich führe die Zeit einmal aus, jetzt wurde der Trace gestoppt, gebe hier auch mal die ID 2 an, und sage "Beenden", damit ist es abgeschlossen. Gehe zurück zum Dateisystem, hier der Standardtrace, das habe ich bereits gezeigt, C Software und sehe, dass jetzt hier die Aufzeichnung entsprechend in der Datei erfolgte. In diesem Video haben Sie gesehen, wie Sie ein Trace erstellen, das heißt der Unterschied zwischen Profiler und Trace liegt eigentlich daran, dass der Profiler die Anwendung ist, und der Trace descript bezogene Variante, wo Sie Ihren SQL SERVER überwachen können, Ihre Events und später das Ganze auswerten. Schauen wir als letzte Aktion noch mal in die Datei. Ein Doppelklick, der Profiler öffnet sich, und ich habe meine Events. Gleich im Moment das nicht eingeschränkt hat, sind hier natürlich auch viele Ereignisse mit drin, die ja jetzt nicht zu AdventureWorks gehören. Ich kann dann hier suchen, kann ich also hier durchbewegen durch die einzelnen Events, da habe ich jetzt die entsprechenden Abfragen gefunden.

SQL Server 2016 Grundkurs: Administration

Erlernen Sie die Administration des SQL Server 2016 vom Umgang mit dem Management Studio bis zu Automatisierung und Monitoring.

6 Std. 10 min (60 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.05.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!