2009-07-29 7 views
5

Gibt es ein Tool, das entweder asp.net oder sql Server inspiziert und alle Abfragen meldet, die für die Datenbank ausgeführt werden? Der Grund, warum ich frage, ist, dass ich Linq für ein Projekt verwende und überprüfen möchte, was es tatsächlich für jede Seite tut.Gibt es ein Tool, mit dem die Abfragen für die Datenbank ausgeführt werden?

Idealerweise möchte ich eine Seite in einem Browser anzeigen und über alle Abfragen verfügen, die zum Erstellen dieser Seite ausgeführt wurden.

Ich weiß, dass ich die SQL für einzelne Abfragen mit Debugging/Breakpoints anzeigen kann, und ich weiß über LinqPad, aber ich fürchte, Linq macht mehrere weitere Abfragen selbst, um verwandte Daten zu erhalten, die ich nicht sein kann direkt bewusst. Gibt es etwas (Tool/Programm/Bericht/etc) wie das, was ich beschrieben habe? Vielen Dank!

EDIT: Gibt es FREE Werkzeug, das kann dies tun? Ich verwende Sql Server 2008 Express und habe leider keinen SQL Profiler.

Antwort

14

Absolut, es gibt ein SQL-Tool namens SQL Profiler. Es erfordert erhöhte Datenbankberechtigungen, um Profiler auszuführen.

Es gibt ein anständiges Tutorial zum Ausführen von Profiler unter TechRepublic.

Eine weitere Option ist die NHibernate Profiler. Ich weiß, dass es nicht so "frei" wie SQL Profiler ist, habe es nie benutzt, aber die Screenshots dafür sehen ziemlich cool aus.

3

Profiler ist das beste Werkzeug von allen für diese, aber es kann teuer in unerfahrenen Händen sein.

Sie auch „exec sp_who“ können versuchen, zu tun und dann eine „dbcc inputbuffer (111)“ - gerade an der Stelle von 111

1

den Prozess-ID setzen Da Sie SQL Server Express verwenden, wie etwa dieses Werkzeug?

Profiler for Microsoft SQL Server 2005/2008 Express Edition

Microsoft SQL Server-Produktfamilie umfasst kostenlose Edition Express, dass voll funktionsfähig ist, hat jedoch einige enttäuschenden Einschränkungen, die verhindern, dass es in der Entwicklung Prozess. Einer von ihnen ist der Profilerstellungs-Tools, Standard-SQL-Profiler ist nicht enthalten. Allerdings haben Sie jetzt eine Möglichkeit, Express Edition für tuning Ihr System zu verwenden. SQL Server Express Edition Profiler bietet die meisten Funktionalität Standard Profiler, wie Ereignisse zu Profil, Einstellung von Filtern, etc. Von jetzt gibt es keine analogen kostenlosen Tools.

Download Here

0

Für die LINQ to SQL-Abfragen speziell, können Sie auch die DataContext.Log Eigenschaft zur Ausgabe verwenden, um die Anfragen an einen TextWriter, so dass Sie Dinge wie Schreib tun können Ausgabefenster Debugger oder (wie in meinem verwenden) zu log4net.

könnte Diese Links helfen:

Wird das Material nicht erzeugt durch L2S nicht decken, so dass dies für Sie das Ende aller Lösung kann nicht sein .. Aber ich habe es hilfreich gefunden.

1

Eine schnelle und schmutzige Weise LINQ to SQL-Abfragen in ASP.NET zu protokollieren ist dies (unter der Annahme einer Northwind.Dbml):

NorthwindDataContext context = new NorthwindDataContext(); 
context.Log = Response.Output; 

Dadurch werden alle Anfragen an den Antwortstream schreiben. Nasty, aber handlich für sofortige Befriedigung ohne Notwendigkeit für Debugger oder Profiler usw.

0

Dieser ist nur für die ersten 45 Tage frei, aber es gibt Ihnen Laufzeit-Profiling/Protokollierung mit einer Reihe von Filteroptionen, SQL Server Query Execution Plan Protokollierung usw. Speziell für das Profiling von L2S-Apps erstellt:

http://www.huagati.com/L2SProfiler

Verwandte Themen