Gibt es ein Tool, um die Abfragen ausführen, gegen die Datenbank zu sehen?
-
05-07-2019 - |
Frage
Gibt es ein Tool, das entweder asp.net oder SQL Server inspizieren und berichten alle Abfragen, die für die Datenbank ausgeführt werden? Der Grund, warum ich frage ist, ich Linq für ein Projekt bin mit und verdoppeln will überprüfen, was seine für jede Seite tatsächlich tut.
Im Idealfall würde Ich mag eine Seite in einem Browser anzeigen und einen Bericht über alle Abfragen, die die Seite erstellen laufen gelassen wurden.
Ich weiß, dass ich die SQL-Ansicht kann es für einzelne Abfragen läuft das Debuggen / Haltepunkte verwenden, und ich weiß, über LinqPad, aber ich habe Angst, Linq mehr Anfragen auf eigenem macht bezogene Daten zu erhalten, die es nicht direkt sein kann bewusst. Gibt es etwas (Werkzeug / Programm / Bericht / etc) wie das, was ich beschrieben? Dank!
EDIT: Gibt es ein FREE Werkzeug, das kann dies tun? Ich bin mit SQL Server 2008 Express und nicht haben leider SQL Profiler.
Lösung
Absolut, Es gibt ein SQL-Tool namens SQL Profiler . Es erfordert erhöhte Datenbank-Berechtigungen, um Profiler auszuführen.
Es gibt eine gute Anleitung, wie Profiler läuft auf TechRepublic .
Eine andere Möglichkeit gibt, ist die NHibernate Profiler . Ich weiß, dass es nicht als „frei“ wie SQL Profiler ist, habe es nie benutzt, aber die Screenshots für es sieht ziemlich cool.
Andere Tipps
Profiler ist das beste Werkzeug von allen für diese, aber es kann in unerfahrenen Händen teuer sein.
Sie können auch versuchen, „exec sp_who“ und dann eine „dbcc inputbuffer (111)“ zu tun - nur an der Stelle von 111 die Prozess-ID setzen
.SQL Profiler tut das.
Da Sie SQL Server Express, wie über dieses Tool?
Profiler für Microsoft SQL Server 2005/2008 Express Edition
Microsoft SQL Server-Produktfamilie umfasst kostenlose Express Edition, das ist voll funktional, aber hat einige enttäuschend Einschränkungen, die verhindern, dass es in der Entwicklung mit Prozess. Einer von ihnen ist absense von Tools, Standard-SQL Profiler Profilierungs ist nicht inbegriffen. Jetzt jedoch haben Sie eine Fähigkeit, Express Edition zu verwenden für Abstimmung Ihres Systems. SQL Server Express Ausgabe Profiler bietet das Beste aus Funktionalität Standard Profiler der Fall ist, wie Veranstaltungen zum Profil der Wahl, Einstellen Filter usw. Inzwischen gibt es keine analogen kostenlose Tools.
Hier Download
Eine schnelle und schmutzige Weise LINQ to SQL-Abfragen in ASP.NET zu protokollieren ist dies (unter der Annahme eine Northwind.Dbml):
NorthwindDataContext context = new NorthwindDataContext();
context.Log = Response.Output;
Damit werden alle Anfragen an den Antwortstream schreiben. Böse, aber praktisch für die sofortige Befriedigung ohne Notwendigkeit für Debugger oder Profilometer etc.
Für die LINQ to SQL-Abfragen speziell, können Sie auch die DataContext.Log
Eigenschaft der Anfragen an einem TextWriter
ausgeben, so dass Sie Dinge wie Schreib tun können Ausgabefenster Debugger oder (wie in meinem Gebrauch) log4net.
Diese Links helfen können:
Wird das Material nicht erzeugt durch L2S nicht decken, so dass dies das Ende nicht alle Lösung für Sie sein ... aber ich habe es hilfreich.
Dies ist nur für die ersten 45 Tage, aber es gibt Sie Profilierungs runtime / mit einem Bündel von Filteroptionen Protokollierung, SQL Server Abfrageausführungsplan Protokollierung usw. speziell errichtet für Profilierungs L2S Apps: