Profiler

01/03/2005 - 00:45 por Natacha | Informe spam
Auxilio, les pido el favor de ayudarme para ver como puedo configurar el
profiler para rastrear todas las sentencias update e insert que se ejecutan
sobre una tabla.

He puesto en el profiler el id de la base de datos y el id de la tabla y no
se genera nada.

Si pongo solamente el nombre del objeto me sale muchisima informacion de
otras sentencias que nada que ver.


Lo unico que necesito es determinar que sentencia está cambiando el valor de
un campo...no puedo meter un trigger porque es una tabla demasiado
transaccional y concurrente y podria afectar el rendimiento.

muchas gracias

Preguntas similare

Leer las respuestas

#1 Isaías
01/03/2005 - 17:30 | Informe spam
Natacha

NO creo que se puedan filtrar los INSERT y UPDATE
solamente, lo que si puedes hacer, es GENERAR TODO lo que
afecta a dicha tabla y descriminar en un SELECT dentro de
TEXT, aquellos que sean solamente INSERT y UPDATE (o
cualquier otra cosa que quisieras revisar).
Respuesta Responder a este mensaje
#2 Alejandro Mesa
01/03/2005 - 18:23 | Informe spam
Natacha,

Revisa que estes usando el [ID] correcto de la tabla. Usa
SQLProfilerStandard template. En Events quita todo y selecciona en T-SQL,
SQL:StmtCompleted (solo la statement que termina es la que inserta o
modifica, si no termina es por algun error). Selecciona los Data Columns que
necesites. Filtra por el [id] de la bd (en DatabaseID), el [id] de la tabla
(en ObjectID), en TextData agrega los valores "insert %" y "update %", sin
las doble comillas y en filas separadas.

Usa esta sentencia para saber el [id] de la bd y la tabla.

select
db_id() as id_de_bd,
object_id(quotename(table_schema) + '.' + quotename(table_name)) as id_tabla
from
information_schema.tables
where
table_type = 'BASE TABLE'
and table_schema = 'dbo'
and table_name = 'Customers'
go

Dejanos saber como te fue.


AMB

"Natacha" wrote:

Auxilio, les pido el favor de ayudarme para ver como puedo configurar el
profiler para rastrear todas las sentencias update e insert que se ejecutan
sobre una tabla.

He puesto en el profiler el id de la base de datos y el id de la tabla y no
se genera nada.

Si pongo solamente el nombre del objeto me sale muchisima informacion de
otras sentencias que nada que ver.


Lo unico que necesito es determinar que sentencia está cambiando el valor de
un campo...no puedo meter un trigger porque es una tabla demasiado
transaccional y concurrente y podria afectar el rendimiento.

muchas gracias
Respuesta Responder a este mensaje
#3 Natacha
01/03/2005 - 20:41 | Informe spam
Mil gracias a los dos, efectivamente ya puede configurar el trace para que me
muestre las sentencias.

cometi el error de no preguntarles que debo hacer para saber el valor de una
variable con la que se está actualizando un campo.

Por ejemplo:

En el trace me aparece

update tabla1
set campo1 = '1'
where campo2 = @variablex

Como hago para saber que valor tenia variablex

No tengo los fuentes del aplicativo

Nuevamente mil gracias.



"Natacha" wrote:

Auxilio, les pido el favor de ayudarme para ver como puedo configurar el
profiler para rastrear todas las sentencias update e insert que se ejecutan
sobre una tabla.

He puesto en el profiler el id de la base de datos y el id de la tabla y no
se genera nada.

Si pongo solamente el nombre del objeto me sale muchisima informacion de
otras sentencias que nada que ver.


Lo unico que necesito es determinar que sentencia está cambiando el valor de
un campo...no puedo meter un trigger porque es una tabla demasiado
transaccional y concurrente y podria afectar el rendimiento.

muchas gracias
Respuesta Responder a este mensaje
#4 Alejandro Mesa
01/03/2005 - 21:17 | Informe spam
Natacha,

La respuesta exacta no me la se. Trata adicionando en el filtro de TextData
las sentencia "set @%" y "select @%". Tambien debes adicionar las clases de
eventos TSQL (Prepare SQL y Exec Prepared SQL), Stored Procedures
(SP:Completed y SP:StmtCompleted).


Suerte,


AMB


"Natacha" wrote:

Mil gracias a los dos, efectivamente ya puede configurar el trace para que me
muestre las sentencias.

cometi el error de no preguntarles que debo hacer para saber el valor de una
variable con la que se está actualizando un campo.

Por ejemplo:

En el trace me aparece

update tabla1
set campo1 = '1'
where campo2 = @variablex

Como hago para saber que valor tenia variablex

No tengo los fuentes del aplicativo

Nuevamente mil gracias.



"Natacha" wrote:

> Auxilio, les pido el favor de ayudarme para ver como puedo configurar el
> profiler para rastrear todas las sentencias update e insert que se ejecutan
> sobre una tabla.
>
> He puesto en el profiler el id de la base de datos y el id de la tabla y no
> se genera nada.
>
> Si pongo solamente el nombre del objeto me sale muchisima informacion de
> otras sentencias que nada que ver.
>
>
> Lo unico que necesito es determinar que sentencia está cambiando el valor de
> un campo...no puedo meter un trigger porque es una tabla demasiado
> transaccional y concurrente y podria afectar el rendimiento.
>
> muchas gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida