{"id":55000046,"date":"2016-08-01T00:00:00","date_gmt":"2020-03-27T19:21:09","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=46"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"SQL_ServerInteraktion_mit_dem_Profiler_verfolgen","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/SQL_ServerInteraktion_mit_dem_Profiler_verfolgen\/","title":{"rendered":"SQL Server-Interaktion mit dem Profiler verfolgen"},"content":{"rendered":"<p><b>Wenn Sie per ADO.NET, LINQ to Entities oder anderen Zugriffstechniken auf die Datenbank eines SQL Servers zugreifen, werden die von Ihnen programmierten Codezeilen meist im Hintergrund in SQL-Befehle umgewandelt. In vielen F&auml;llen kann es interessant sein, was dort tats&auml;chlich geschieht. Ein geeignetes Werkzeug ist der SQL Server Profiler, der zwar demn&auml;chst ausl&auml;uft, aber eine schnelle M&ouml;glichkeit der Nachverfolgung liefert.<\/b><\/p>\n<p>Wir wollen in diesem Artikel die schnelle und unkomplizierte Verfolgung der Zugriffe auf den SQL Server beschreiben. Dazu ist eine Installation des SQL Server Profilers in einer aktuellen und dem SQL Server entsprechenden Version Voraussetzung. Nachdem Sie den SQL Server Profiler gestartet haben, erwartet Sie zun&auml;chst das leere Anwendungsfenster (siehe Bild 1). Hier klicken Sie direkt auf die Schaltfl&auml;che Neue Ablaufverfolgung.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_46_001.png\" alt=\"Der Profiler nach dem Start der Anwendung\" width=\"649,559\" height=\"263,2076\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Der Profiler nach dem Start der Anwendung<\/span><\/b><\/p>\n<p>Daraufhin erscheint der Dialog aus Bild 2, mit dem Sie sich an der SQL Server-Instanz anmelden, die Sie untersuchen m&ouml;chten. In diesem Fall geht es um eine Instanz von LocalDB in der Version 11.0. Nach der Auswahl\/Eingabe des Servernamens klicken Sie auf die Schaltfl&auml;che Verbinden.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_46_002.png\" alt=\"Angabe des zu untersuchenden Servers\" width=\"499,6607\" height=\"329,9646\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Angabe des zu untersuchenden Servers<\/span><\/b><\/p>\n<p>Damit erscheint der Dialog Ablaufverfolgungseigenschaften, der einige Einstellungen erm&ouml;glicht (siehe Bild 3). Die erste ist die Vergabe eines Namens f&uuml;r die Ablaufverfolgung. Au&szlig;erdem stellen Sie ein, ob die protokollierten Daten in einer Datei oder in einer SQL Server-Tabelle gespeichert werden sollen. Sollten Sie letztere Variante w&auml;hlen und wollen Sie damit die Performance untersuchen, sollten Sie eine Tabelle einer Datenbank verwenden, die von einer anderen SQL Server-Instanz verwaltet wird.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_46_003.png\" alt=\"Eingabe der Ablaufverfolgungseigenschaften\" width=\"649,559\" height=\"416,0875\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Eingabe der Ablaufverfolgungseigenschaften<\/span><\/b><\/p>\n<p>Dazu &ouml;ffnet der Profiler, sobald Sie die Option In Tabelle speichern gew&auml;hlt haben, direkt einen weiteren Dialog zum Herstellen einer Verbindung mit einem SQL Server, sodass Sie die Gelegenheit haben, auch eine alternative Instanz auszuw&auml;hlen.<\/p>\n<p>Die SQL-Anweisungen zum Speichern der Profiler-Daten werden &uuml;brigens nicht mitgespeichert.<\/p>\n<p>Das Speichern in einer SQL Server-Tabelle ist dann notwendig, wenn Sie viele Daten oder einen l&auml;ngeren Zeitraum beobachten wollen &#8211; die Darstellung im Profiler selbst ist nicht dazu geeignet, beispielsweise nach bestimmten Tabellen oder Ereignissen zu filtern. F&uuml;r die im Rahmen des Zugriffes durch die in diesem Magazin beschriebenen Beispiele reicht die Darstellung direkt im Profiler allerdings aus.<\/p>\n<h2>Nach Datenbank filtern<\/h2>\n<p>Interessant wird es, wenn Sie die zu untersuchenden Zugriffe auf die Datenbank auf einer Server-Instanz ausf&uuml;hren, die noch andere, gegebenenfalls rege frequentierte Datenbanken verwaltet. In diesem Fall m&uuml;ssen Sie noch festlegen, dass der Profiler nur die Zugriffe auf die von Ihnen verwendete Datenbank protokolliert. Dies erledigen Sie auf der zweiten Registerseite des Dialogs Ablaufverfolgungseigenschaften (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_46_004.png\" alt=\"Festlegen der zu protokollierenden Ereignisse\" width=\"649,559\" height=\"416,0875\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Festlegen der zu protokollierenden Ereignisse<\/span><\/b><\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000046\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000046?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000046\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"b661a4519d\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie per ADO.NET, LINQ to Entities oder anderen Zugriffstechniken auf die Datenbank eines SQL Servers zugreifen, werden die von Ihnen programmierten Codezeilen meist im Hintergrund in SQL-Befehle umgewandelt. In vielen F&auml;llen kann es interessant sein, was dort tats&auml;chlich geschieht. Ein geeignetes Werkzeug ist der SQL Server Profiler, der zwar demn&auml;chst ausl&auml;uft, aber eine schnelle M&ouml;glichkeit der Nachverfolgung liefert.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662016,66042016,44000029,44000024,44000021,44000023,44000006,44000025,44000028],"tags":[],"yst_prominent_words":[],"class_list":["post-55000046","post","type-post","status-publish","format-standard","hentry","category-662016","category-66042016","category-Access_programmieren","category-Berichte_und_Reporting","category-Entity_Framework","category-PowerApps","category-SQL_Server_und_Co","category-VBAProgrammierung","category-Word_programmieren"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000046"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000046\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000046"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}