2009-07-29 12 views
5

¿Hay alguna herramienta que inspeccione el servidor asp.net o sql e informe todas las consultas que se ejecutan en la base de datos? La razón por la que pregunto es que estoy usando Linq para un proyecto y quiero verificar qué está haciendo realmente para cada página.¿Hay alguna herramienta para ver las consultas ejecutadas en la base de datos?

Idealmente me gustaría ver una página en un navegador y tener un informe de todas las consultas que se ejecutaron para crear esa página.

Sé que puedo ver el SQL que se ejecuta para consultas individuales utilizando depuración/puntos de interrupción, y sé de LinqPad, pero me temo que Linq está realizando varias consultas más para obtener datos relacionados que no puedo directamente consciente de. ¿Hay algo (herramienta/programa/informe/etc.) como lo que describí? ¡Gracias!

EDITAR: ¿Hay alguna herramienta gratuita que pueda hacer esto? Estoy usando Sql Server 2008 Express y no tengo SQL Profiler desafortunadamente.

Respuesta

14

Absolutamente, hay una herramienta SQL llamada SQL Profiler. Requiere permisos de base de datos elevados para ejecutar Profiler.

Hay un tutorial decente sobre cómo ejecutar Profiler en TechRepublic.

Otra opción es NHibernate Profiler. Sé que no es tan "gratuito" como SQL Profiler, nunca lo he usado, pero las capturas de pantalla parecen bastante geniales.

3

Profiler es la mejor herramienta de todas ellas para esto, pero puede ser costoso en manos inexpertas.

También puede tratar de hacer "sp_who exec" y luego un "inputbuffer dbcc (111)" - sólo hay que poner el identificador de proceso en el lugar de 111.

1

Puesto que usted está utilizando SQL Server Express, que tal ¿esta herramienta?

Profiler for Microsoft SQL Server 2005/2008 Express Edition

familia de Microsoft SQL Server incluye edición gratuita Express, que es totalmente funcional , sin embargo tiene algunas limitaciones decepcionantes, que impiden utilizar en el desarrollo de procesos . Una de ellas es la ausencia de herramientas de perfilado, el perfilador SQL estándar no está incluido. Sin embargo, ahora usted tiene la capacidad de usar la edición express para sintonizando su sistema. SQL Server Express Edition Profiler proporciona la mayor funcionalidad de Profiler Profile, como elegir eventos para el perfil, configuración de filtros, etc. Por ahora no hay herramientas libres de analogía.

Download Here

0

Para el LINQ a SQL consultas específicamente, también se puede utilizar la propiedad DataContext.Log a la salida de las consultas a un TextWriter, por lo que puede hacer cosas como escribir a depurador ventana de salida o (como en mi uso) a log4net.

Estos enlaces pueden ayudar:

no cubrirá las cosas no generada por L2S, por lo que este puede no ser el final de todo solución para usted .. .pero lo he encontrado útil.

1

Una manera rápida y sucia para registrar LINQ a las consultas SQL en ASP.NET es la siguiente (suponiendo una Northwind.Dbml):

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

Esto escribirá todas las consultas a la secuencia de respuesta. Desagradable, pero útil para la gratificación instantánea sin necesidad de depuradores o perfiladores, etc.

0

Éste solo es gratuito durante los primeros 45 días, pero le ofrece perfilación/registro en tiempo de ejecución con un montón de opciones de filtro, plan de ejecución de consulta SQL Server registro, etc. Construido específicamente para crear perfiles de aplicaciones L2S:

http://www.huagati.com/L2SProfiler

Cuestiones relacionadas