SQL Server Profiler - ¿Cómo filtrar el rastreo para mostrar solo eventos de una base de datos?

StackOverflow https://stackoverflow.com/questions/272730

Pregunta

¿Cómo limito el rastreo de SQL Server Profiler a una base de datos específica? No puedo ver cómo filtrar la traza para no ver eventos para todas las bases de datos en la instancia a la que me conecto.

¿Fue útil?

Solución

En Propiedades de rastreo > Pestaña Selección de eventos > seleccione mostrar todas las columnas. Ahora bajo filtros de columna, debería ver el nombre de la base de datos. Ingrese el nombre de la base de datos para la sección Me gusta y debería ver trazas solo para esa base de datos.

Otros consejos

En SQL 2005, primero debe mostrar la columna Nombre de la base de datos en su rastreo. Lo más fácil es elegir la plantilla Tuning, que ya tiene esa columna agregada.

Suponiendo que tiene seleccionada la plantilla Tuning, para filtrar:

  • Haga clic en " Selección de eventos " pestaña
  • Haga clic en " Filtros de columna " botón
  • Marcar Mostrar todas las columnas (lado derecho hacia abajo)
  • Seleccione " DatabaseName " ;, haga clic en el signo más junto a Me gusta en el panel de la derecha y escriba el nombre de su base de datos.

Siempre guardo el seguimiento en una tabla también para poder hacer consultas ME GUSTA en los datos de seguimiento después del hecho.

Por experimento pude observar esto:

Cuando se utiliza SQL Profiler 2005 o SQL Profiler 2000 con la base de datos que reside en SQLServer 2000, el problema mencionado persiste, pero cuando se utiliza SQL Profiler 2005 con la base de datos SQLServer 2005, ¡funciona perfecto!

En resumen, el problema parece prevalecer en SQLServer 2000 & amp; rectificado en SQLServer 2005.

La solución para el problema cuando se trata con SQLServer 2000 es (como explica wearejimbo)

  1. Identifique el ID de la base de datos de la base de datos que desea filtrar consultando la tabla de bases de datos del sistema como se muestra a continuación

    SELECT * 
    FROM master..sysdatabases 
    WHERE name like '%your_db_name%'   -- Remove this line to see all databases
    ORDER BY dbid
    
  2. Utilice el filtro de ID de base de datos (en lugar de DatabaseName) en la ventana Nuevo seguimiento de SQL Profiler 2000

En las propiedades de seguimiento, haga clic en la pestaña Selección de eventos en la parte superior junto a General . Luego haga clic en Filtros de columna ... en la parte inferior derecha. Luego puede seleccionar qué filtrar, como TextData o DatabaseName .

Expanda el nodo Me gusta e ingrese su filtro con los signos de porcentaje % como % MyDatabaseName% o % TextDataToFilter% . Sin los signos %% , el filtro no funcionará.

Además, asegúrese de marcar la casilla de verificación Excluir filas que no contienen valores ' Si no puede encontrar el campo que desea filtrar, como DatabaseName , vaya a General y cambie su Plantilla , una en blanco debe contener todos los campos.

Cree una nueva plantilla y verifique DBname. Use esa plantilla para su archivo de rastreo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top