Buenos dias tengo una duda
puedo saber que usuario hace alguna modificacion en la
base de datos, algo asi como que es lo que hizo, en donde
lo hizo, a que hora lo hizo y quien lo hizo. como podria realizarse
eso.
Saludos
| |||
espiar en la base Buenos dias tengo una duda puedo saber que usuario hace alguna modificacion en la base de datos, algo asi como que es lo que hizo, en donde lo hizo, a que hora lo hizo y quien lo hizo. como podria realizarse eso. Saludos
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| |||
Respuesta: espiar en la base uso mysql 5.1.73, insert, delete y update, si es mia, soy el administrador de la base de datos y del servidor
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base aqui un link para tracear los cambios en cuanto a DML http://stackoverflow.com/questions/1...ges-to-records
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| ||||
Respuesta: espiar en la base a pues para esos usas las vistas de sistema de mysql para obtener el usuario con la sesion activa en la base de datos y la hora...bueno eso con una funcion para tiempo y listo :) aqui otro link.....buscando en google se encuentran muchas cosas ;) http://custom-designed-databases.com...es-with-mysql/
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| |||
Respuesta: espiar en la base a esos ejemplos no le entiendo por eso pedi una ayuda mas especializada aqui
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base Los ejemplos estan explicados de manera sencilla, te dicen que hay que crear una tabla para guardar los valores viejos u otra para trackear quien hizo el cambio, y despues de eso crear algunos triggers para cuando se haga un inser, delete o update poder saber quien hizo el cambio y que fue lo que cambio, a que te refieres con ayuda especializada? Sin animos de ofender si no entiendes esos ejemplos, como le haces para administrar la base de datos????
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| |||
Respuesta: espiar en la base pues es una base algo sencilla y pues no le entiendo porque no identifico en donde sacamos el usuario de la otra tabla y que es lo que hace cada linea de codigo
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base Cita: Ok... Empecemos con un par de preguntas: 1) Si son cambios en los datos, ¿ese usuario los ahce manualmente, a SQL puro? 2) Si son cambios en la estructura de las tablas y SP, ¿por que tiene permisos para eso?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: espiar en la base A ver vamos por partes quieres saber cuales son los cambios que se realizan sobre cada una de las tablas de tu base de datos y quien los esta haciendo o solo tienes algunas tablas sensitivas a estos cambios, con esto quiero decir que solo algunas tablas son factibles para trackear los cambios? Te comento esto porque si quieres saber quien cambio que cosa en toda la base de datos le vas a meter muchisima carga a tu servidor asi como a la base con datos que quizas realmente no valgan la pena o no sea importante saber. Ahora el ejemplo que te mande muestra los cambios que se realizan a nivel base de datos, si los cambios que se hacen en tu base son por medio de una aplicacion aqui cambiaria un poco la cosa, porque tendrias tu que mandar el parametro del usuario que esta realizando el cambio, en el ejemplo maneja la funcion user() con esta funcion obtiene los valores del usuario que esta conectado pero si el cambio es con una aplicacion siempre aparecera que el cambio lo hizo el usuario que tienes configurado para que se conecte a la aplicacion.......
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| |||
Respuesta: espiar en la base Ok, asi mejor solo quiero saber a una tabla en especifico se llama convenios y si despues de checar una linea en un codigo y checar el codigo que me proporsionaste vi como jalaba el usuario, no se si se necesite que comparta la estructura de la tabla que quiero trackear
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| |||
Respuesta: espiar en la base los cambios son mediante una aplicacion web, no entran, ni tienen conocimiento de que lo que hacen se guarda en una base de datos
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base Lo que describe Libras es precisamente le método más difundido de administrar los cambios de datos: Simplemente cada tabla contiene una columna dedicada al user que está realizando la acción, y otra paa la fecha y hora de la misma. Es lo más simple y sencillo, que tiene solo el detalle que debes acordarte de programar correctamente todo para que sea consistente. A otros niveles, los DBMS tienen recursos para monitorear las acciones que se realizan, aunque no están disponibles en las versiones de distribución gratuita. Adicionalmente se suelen programar las aplicaciones para que todas estas acciones se registren en bases especiales de log, que sirven para reconstruir lo que fue sucediendo. O sea, hay que crear todo lo que necesites.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: espiar en la base usas un usuario generico para realizar las conexiones a la base de datos o cada usuario tiene su propia cuenta para conectarse a la base de datos???
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| |||
Respuesta: espiar en la base un usuario generico pero para poder entrar al menu del crud cada uno tiene su cuenta
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base Aunque usara un mismo usuario genérico de conexión, tendría que , al menos, registrar el usuario de aplicación en las tablas. En una de las aplicaciones que administramos, un mismo usuario de área tiene N usuarios dependientes no registrados como user de base, pero sí como miembros de la empresa con su user/pwd en la aplicación. Ese es el username que se registra en las tablas de la base con cada ABM de datos.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: espiar en la base En este caso tendrias que mandar por medio de php cual es el usuario que esta logueado a la base de datos cuando realices la auditoria :) o no se como sabes que usuario es el que esta trabajando en la base de datos......
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| |||
Respuesta: espiar en la base registro el usuario y la hora en la que se logueo en una tabla y en mi tabla principal de convenios tengo la variable NOW() para saber a que hora fue editado algun registro, acutualmente con eso hago un poco de seguimiento por la hora en la que se loguea el usuario y la hora en la que se modifico el registro, pero necesito algo mas preciso, y no se php, mi aplicacion es en java,html, javaScript y un poco de ajax y json
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base Cita: Da igual. no se php, mi aplicacion es en java,html, javaScript y un poco de ajax y json La idea es que eso que haces sólo en esa tabla deberás hacerlo en todas y cada una de las tablas que existan en la base, en cada INSERT y UPDATE que se realicen en ellas. Es la única forma de hacer el monitoreo de cambios en la base sin sobrecargar al DBMS con triggers innecesarios.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: espiar en la base Pues si ya tienes eso para saber los cambios nada mas agregale el usuario que realizo el cambio, por medio de java puedes obtener cual es el usuario que esta logueado en tu base de datos :)
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| |||
Respuesta: espiar en la base lo quise implementar asi pero no me corria la aplicacion, por eso realice lo antes comentado y pues no se cual es la mejor opcion sin afectar tanto la aplicacion y la base de datos
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base SI el usuario es de aplicación, pero usa uno genérico de conexión, entonces supongo que conservarás al usuario de aplicación en algun objeto en memoria para administrar su sesión. En ese caso simplemente usas el valor del atributo de username que hayas incluido en él, cada vez que invoques a la base para una operación ABM, mandándolo como dato para insertar en la columna respectiva. La verdad me cuesta comprender qué es lo que se te complica de la idea.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: espiar en la base se me complica la idea en no se lo que es conservar el usuario en memoria y no se como manipular la variable para enviarla a la tabla en la que necesito el monitoreo
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base Bueno, eso ya es terreno de Programación, y OFF TOPIC en este foro. ¿Por qué no preguntas cómo se hace en el subforo del lenguaje que estás usando para la aplicación? A fin de cuentas, si estás usando AJAX, estás usando PHOP... ¿o no? O mejor aún: San Google debe tener infinidad de cosas para ofrecerte, si le preguntas.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: espiar en la base intente hacer eso y no me funciono
Código SQL:
Ver original
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base Cita: Creo que no entendiste la idea que expresé de "triggers innecesarios", y que los mismos no sirven para hacer el seguimiento de los usuarios si son genéricos. ¿no?intente hacer eso Cita: Ok... y no me funciono ¿Te das cuenta que "no funcionó" no es una información útil, no? Es decir, si no nos dices QUÉ fue lo que no te funcionó, es difícil adivinarlos solo mirando el código.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: espiar en la base No me funciono no hizo el registro en la tabla history despues de hacer un insert en la tabla convenios que es lo que puedo implementar que sea en la base no en la aplicacion
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
| ||||
Respuesta: espiar en la base Prueba insertar manualmente un registro en las tablas convenios_AINS o convenios_AUPD , poniendo el valor del idSequenceTT sin usar el autoincremental. También ten en cuenta que estás usando nombres de columnas que son palabras reservadas. Eso puede causar a veces errores de ejecución indetectables.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: espiar en la base Buenos dias ya tuve una buena respuesta de parte del trigger en una insercion pero le tuve que quitar dos campos donde tenia el id_con que era donde yo esperaba identificar el documento y el campo data que no sabia para que era, y en el usuario me manda solo usuario root@localhost no me manda el usuario de la aplicacion +-----------+---------------------+----------------+ | HistoryId | dtModified | ModifiedBy | +-----------+---------------------+----------------+ | 1 | 2016-03-23 10:36:38 | root@localhost | +-----------+---------------------+----------------+
Código SQL:
Ver original
__________________ "Las piedras me las quito caminando y las pedradas tambien" |
Etiquetas: Ninguno |