none
Se borran mis tablas RRS feed

  • Pregunta

  • Buenos dias. Les escribo porque tengo un problema en el server de un cliente que no logro resolver. El servidor es un Windows 2008 server  y tiene SQLServer 2003. La cuestion es que cada vez mas frecuentemente me llaman porque se borra alguna tabla de la base de datos y no puedo saber por que ocurre esto. Desde luego que desde el código de mi sistema esto no se produce y nadie mas tiene acceso al servidor. Alguien puede darme una pista?
    martes, 13 de junio de 2017 17:32

Respuestas

  • [...] en realidad es sql server 2000. [...] Voy a leer sobre las soluciones que me propones [...]

    No, si es un 2000 no te molestes en leer sobre lo que te he propuesto. Los triggers de DDL no existían en el 2000. El SQL Audit, tampoco. No estoy seguro del SQL Trace, pero creo que tampoco. Me temo que tus opciones se limitan a dejar activada una traza con el Profiler (que creo que en la versión española del 2000 se llama "Analizador", lo cual es una lata porque se confunde con el "Analizador de consultas").
    martes, 13 de junio de 2017 21:43

Todas las respuestas

  • Me imagino que las versiones están cambiadas y que en realidad es SQL Server 2008 en Windows Server 2003 en lugar de  SQL Server 2003 en Windows Server 2008 (no existe SQL Server 2003).

    Hay varias medidas que puedes tomar. Una es crear un Tigger de DDL sobre el comando "drop table". Dentro del trigger puedes "logar" los datos (como por ejemplo cuál es el usuario que ha desencadenado la operación) y luego hacer un "rollback", que impide que la operación se complete y por lo tanto no se borra la tabla.

    Otra cosa que puedes hacer es activar una traza con el SQL Trace, que te permitiría a posteriori leer el archivo de traza usando el Profiler para ver qué sentencias se ejecutaron y cuándo, y quién fue el usuario.

    Y también podrías usar cualquiera de las opciones de auditoría que estén soportadas por tu edición de SQL Server (todas si es una edición Enterprise, pero (a diferencia de las versiones más modernas) en la Standard del 2008 no se podía usar el SQL Audit).

    martes, 13 de junio de 2017 18:13
  • Muchas gracias por tu respuesta Alberto. Escribiendo apurado puse 2003, en realidad es sql server 2000.

    Voy a leer sobre las soluciones que me propones ya que no tengo demasiados conocimientos sobre estas cuestiones. Pense que podria ser algun fallo de sql por falta de espacio o alguna razon parecida ya que no hay personas que accedan a la bd. Seguirè tus consejos, te agradezco.

    Saludos.

    martes, 13 de junio de 2017 21:02
  • [...] en realidad es sql server 2000. [...] Voy a leer sobre las soluciones que me propones [...]

    No, si es un 2000 no te molestes en leer sobre lo que te he propuesto. Los triggers de DDL no existían en el 2000. El SQL Audit, tampoco. No estoy seguro del SQL Trace, pero creo que tampoco. Me temo que tus opciones se limitan a dejar activada una traza con el Profiler (que creo que en la versión española del 2000 se llama "Analizador", lo cual es una lata porque se confunde con el "Analizador de consultas").
    martes, 13 de junio de 2017 21:43
  • Existe el "Analizador" que mencionas por lo que veo. Es un dolor de cabeza, deberia migrar a un 2008 como mìnimo pero nunca lo hice ya que lo heredé hace poco tiempo. Gracias por tus consejos Alberto.
    martes, 13 de junio de 2017 21:54
  • Las cosas no se borran solas,o lo hace el programa, o algun procedimiento un bug o alguien rompio la seguridad y entro a la base aunque vos pienses que nadie tiene acceso.
    miércoles, 14 de junio de 2017 22:55