SQL Server - Ayuda con trigger

 
Vista:

Ayuda con trigger

Publicado por eljhonb (124 intervenciones) el 12/10/2006 21:42:57
Buenas tardes.. mi duda es la siguiente:
Cómo puedo hacer para en un trigger determinado obtener la IP del equipo que está haciendo que se dispare el trigger?. con host_name() obtengo el nombre del equipo pero adicional a eso quisiera la obtener la IP.

Aquí pongo un ejemplo del trigger:
EXECUTE ('CREATE TRIGGER AUDITdel_' + @tabla +' ON ' + @tabla + ' FOR DELETE AS Insert into AUDIT
select ''Delete'', getdate(), ''liminacion de un registro'', SYSTEM_USER, host_name(),APP_NAME()')

Muchas Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con trigger

Publicado por Isaías (3308 intervenciones) el 13/10/2006 18:11:39
Que yo sepa, en versiones de SQL Server de 2000 hacia abajo (6.5), no se puede, si en 2005.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con trigger

Publicado por eljhonb (124 intervenciones) el 13/10/2006 18:19:30
estoy trabajando con el SQL Server 2000 o sea que según dices no es posible hacer eso desde ahí......... Muchas gracias por tú respuesta, pero pienso que si es puede saber el nombre de la terminal desde donde se accedió entonces debe haber alguna forma de saber la IP...
de todas maneras muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con trigger

Publicado por Isaías (3308 intervenciones) el 17/10/2006 00:11:56
Ejecutar el XP_CMDSHELL con IPCONFIG, lo tomas en una variable tipo VARCHAR o una tabla temporal y de ahi sacas tu IP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con trigger

Publicado por eljhonb (124 intervenciones) el 18/10/2006 17:17:34
Pues bueno, la verdad muchas gracias pero creo que no me has entendido.
Yo no necesito conocer mi IP, necesito conocer la IP de la maquina remota que realiza la transacción con mi base de datos.
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con trigger

Publicado por Nelson (2 intervenciones) el 23/10/2006 23:32:22
En SQL Server 2000 no se puede obtener la IP desde un trigger.
Si se puede obtener la mac.

De cualquier forma, programar triggers de auditoría es una tarea bastante dura.
yo estoy usando un generador de triggers de auditoría que está disponible gratis en el sitio http://www.auditdatabase.com

La herramienta (trigger generator wizard) es bastante sencilla, le das la sentencia "create table.." de la tabla que querés auditar, definís los eventos que querés auditar (insert, update, delete) y algunas cosas mas y esta herramienta te genera los triggers de auditoría.

(antes de crear los triggers en tu base debes crear las tablas de auditoría, que las puedes bajar del mismo sitio)

Por último, para consultar la información de auditoría..el sitio brinda otra herramienta, también gratis que te permite generar consultas SQL para consultar información de auditoría.

un saludo,
Nelson.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con trigger

Publicado por Nelson (2 intervenciones) el 23/10/2006 23:36:29
ah..me olvidaba.
los triggers generados por la herramienta de www.auditdatabase.com graban la MAC y dan un mecanismo para grabar también la IP, pero en el caso de la IP la aplicación luego de conectarse a la base de datos tiene que llamar a un stored procedure desarrollado por auditdatabase.com, para que quede disponible la IP a nivel de la sesion de la base.

espero te sirve la información.

nelson.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con trigger

Publicado por Isaías (3308 intervenciones) el 25/10/2006 20:44:20
Si, creo que no nos entendemos, porque yo te digo, DESDE SQL SERVER, no puedes hacerlo, no hay forma, no existe algo que interactue desde el servidor con la terminal, es imposible.

A menos, claro esta, que tu aplicativo fuera algo desarrallado en WEB y este, enviara como parametro hacia tu base, la direccion IP desde donde se hace alguna transaccion.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar