Foros del Web » Bases de Datos » SQL Server »

Trigger sobre SELECT

Estas en el tema de Trigger sobre SELECT en el foro de SQL Server en Foros del Web. Deseo auditar los accesos a nivel de consulta a una tabla, pero no tengo fuentes de la aplicacion. Es posible construir un trigger para dejar ...
  #1 (permalink)  
Antiguo 18/01/2007, 12:41
 
Fecha de Ingreso: enero-2007
Mensajes: 11
Antigüedad: 7 años, 9 meses
Puntos: 0
Trigger sobre SELECT

Deseo auditar los accesos a nivel de consulta a una tabla, pero no tengo fuentes de la aplicacion. Es posible construir un trigger para dejar rastro de los selects que se realicen sobre una tabla?

Última edición por Lusanche; 18/01/2007 a las 12:43 Razón: Ortografia
  #2 (permalink)  
Antiguo 18/01/2007, 13:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.030
Antigüedad: 12 años, 9 meses
Puntos: 96
Re: Trigger sobre SELECT

Los triggers solo son para sentencias de acción (DELETE, UPDATE, INSERT), pero aquí hay un "guorkarond":

http://solidqualitylearning.com/blog...11/25/214.aspx

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 22/02/2007, 02:58
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 269
Antigüedad: 11 años
Puntos: 0
Re: Trigger sobre SELECT

Mis dudas acerca de esta solución son las siguientes:
  • La línea 'EXEC master.dbo...' no requiere la existencia de un archivo concreto o, preguntado de otra manera, ¿Esto sólo funciona para una determinada base de datos? Es decir, Oracle.
  • La otra duda es sobre el funcionamiento del ejemplo que pone la persona que ha hecho ese artículo. En la línea que no comprendo demasiado bien pone: 'Select from Customers happened!' (supongo que es para controlar los Select que se hagan sobre la tabla Customers exclusivamente) y debajo:
Cita:
SELECT TOP 1 *
FROM Customers
SELECT TOP 1 *
FROM Orders
SELECT TOP 1 c.CustomerID
FROM Customers c INNER JOIN Orders o
ON c.CustomerID=o.CustomerID
El Trigger se dispara cuando alguien haga una consulta a la tabla customers, es decir, en el primer y tercer caso pero, al dispararse, ¿Qué hace exactamente? Me explico, si lo que yo quiero es hacer un INSERT del usuario que ha está haciendo el SELECT, ¿En qué parte y cómo lo haría?
__________________
por Pip
  #4 (permalink)  
Antiguo 23/02/2007, 09:00
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.030
Antigüedad: 12 años, 9 meses
Puntos: 96
Re: Trigger sobre SELECT

No, no, a ver...

La linea exec master.dbo, lo que hace es guardar en el log el mensaje "Select from Customers happened!" como warning para que despues con el Event Viewer lo puedas -valga la redundancia ver.

El trigger hace eso, guarda en el log que se ha hecho una seleccion en x tabla, por supuesto que puedes en lugar de guardar en el log hacer un INSERT a otra tabla.

Necesitas crear el trace desde SQL Profiler
Ah, una cosa mas, el ejemplo es para SQL...

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 13/12/2012, 12:43
Avatar de danichalay  
Fecha de Ingreso: julio-2009
Mensajes: 20
Antigüedad: 5 años, 3 meses
Puntos: 1
Sql profiler

Utiliza el sql profiler, lo configuras correctamente para que capture procedimientos almacenados y sentencias "select", y luego guardas el reporte generado con las capturas. sería la forma más facil y directa para hacerlo
  #6 (permalink)  
Antiguo 13/12/2012, 12:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Aqui y alla :)
Mensajes: 4.939
Antigüedad: 8 años, 2 meses
Puntos: 544
Respuesta: Trigger sobre SELECT

tarde pero seguro 2012-2007=5 años jejejeje
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 13/12/2012, 13:20
Avatar de danichalay  
Fecha de Ingreso: julio-2009
Mensajes: 20
Antigüedad: 5 años, 3 meses
Puntos: 1
Respuesta: Trigger sobre SELECT

jajaja, sorry, esque mi maquina se congelaba con cada tecla, asi que me demoré en responder 5 años, jajaja. naaa en serio, no me habia dado cuenta de la fecha. andaba buscando otro tema pasé por aquí y quise responder saludos
  #8 (permalink)  
Antiguo 13/12/2012, 14:51
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Aqui y alla :)
Mensajes: 4.939
Antigüedad: 8 años, 2 meses
Puntos: 544
Respuesta: Trigger sobre SELECT

suele pasar jejejeje :) saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 00:56.
SEO by vBSEO 3.3.2