sql-server - studio - sql server profiler download
SQL Server Profiler: ¿Cómo filtrar el seguimiento para mostrar solo los eventos de una base de datos? (5)
¿Cómo limito un rastreo del Analizador de SQL Server 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.
Crear una nueva plantilla y comprobar DBname. Utilice esa plantilla para su archivo de seguimiento.
En Propiedades de seguimiento> pestaña Selección de eventos> seleccione mostrar todas las columnas. Ahora bajo los 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 las trazas solo para esa base de datos.
En SQL 2005, primero debe mostrar la columna Nombre de la base de datos en su traza. Lo más fácil es elegir la plantilla de Afinación, que ya tiene esa columna agregada.
Suponiendo que tiene seleccionada la plantilla de ajuste, para filtrar:
- Haga clic en la pestaña "Selección de eventos"
- Haga clic en el botón "Filtros de columna"
- Marcar Mostrar todas las columnas (lado derecho hacia abajo)
- Seleccione "Nombre de la base de datos", 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 la traza en una tabla para poder realizar consultas LIKE en los datos de traza después del hecho.
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 columnas ... en la parte inferior derecha. A continuación, 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 contengan valores '' Si no puede encontrar el campo que busca filtrar, como DatabaseName
vaya a la pestaña General y cambie su Plantilla , la casilla en blanco debe contener todos los campos.
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 usa SQL Profiler 2005 con la base de datos SQLServer 2005, ¡funciona perfectamente!
En resumen, el problema parece prevalecer en SQLServer 2000 y rectificarse en SQLServer 2005.
La solución para el problema al tratar con SQLServer 2000 es (como se explica por wearejimbo)
Identifique el DatabaseID de la base de datos que desea filtrar consultando la tabla de sysdatabases 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
Use el filtro de DatabaseID (en lugar de DatabaseName) en la ventana New Trace de SQL Profiler 2000