none
Consulta sobre BD. RRS feed

  • Pregunta

  • Hola, estimados, ¿existe alguna forma de saber si una BD atachada en un motor ha sido utilizada en los ultimos 60 días?

    ¿O en su defecto saber si una BD esta siendo utilizada o no?

     


    C.S.M.M.
    lunes, 13 de diciembre de 2010 13:20

Respuestas

  • Gracias por su respuesta estimado, acabo de ejecutar la consulta que me enviaste, pero al parecer muestra el ultimo acceso sin discriminar usuarios, es decir, perfectamente me muestra que todos los accesos fueron realizados el día de hoy, pero lo mas probable es que sea por algún usuario asociado (sa) a un job automático, en este caso un respaldo incremental agendado cada cierto horario.

    La segunda opción ya la manejo, pero en el servidor que estoy tratando de averigurar esta información es de ambiente de desarrollo, por éste motivo realizo la consulta estimado, saludos! ;)


    C.S.M.M.
    lunes, 13 de diciembre de 2010 13:38
  • Hola.

    La forma de determinar ese hecho es mediante una traza de profiler puesta durante 60 días o cualquier operación de auditado equivalente. Pero a posteriori, es difícil. Puedes usar estadísticas, que te darán información que incluye tareas administrativas y no deja de ser eso, una estadística (fiabilidad limitada, por ejemplo, si hubo un reinicio del servicio, la información se pierde).

     

     


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    lunes, 13 de diciembre de 2010 14:38
    Moderador
  • Entiendo lo que dices, en ese caso secundo la parte donde Alberto indica que debes de utilizar un tipo de auditoria para conocer estas informaciones con mayor facilidad.

    Aqui te dejo un enlace donde puedes ver un ejemplo de esto, espero que te sirva.

    http://sqlblog.com/blogs/aaron_bertrand/archive/2008/05/06/when-was-my-database-table-last-accessed.aspx

    Willy Taveras.-

    http://itlearn.net

    lunes, 13 de diciembre de 2010 14:50
    Moderador

Todas las respuestas

  • Hola,


    Para saber la ultima vez que fue accedida una Base de datos, puedes probar con este Script:

    SELECT name, ultimoAcceso =(
    select X1= max(LA.xx)
    from ( select xx =
    max(last_user_seek)
    where max(last_user_seek)is not null
    union all
    select xx = max(last_user_scan)
    where max(last_user_scan)is not null
    union all
    select xx = max(last_user_lookup)
    where max(last_user_lookup) is not null
    union all
    select xx =max(last_user_update)
    where max(last_user_update) is not null) LA)
    FROM master.dbo.sysdatabases sd
    left outer join sys.dm_db_index_usage_stats s
    on sd.dbid= s.database_id
    group by sd.name
    

    Para saber quien esta usando la base de datos puedes ejecutar:

    exec sp_who2
    

    Espero que te sirva.


    Willy Taveras.-

    http://itlearn.net

    lunes, 13 de diciembre de 2010 13:31
    Moderador
  • Gracias por su respuesta estimado, acabo de ejecutar la consulta que me enviaste, pero al parecer muestra el ultimo acceso sin discriminar usuarios, es decir, perfectamente me muestra que todos los accesos fueron realizados el día de hoy, pero lo mas probable es que sea por algún usuario asociado (sa) a un job automático, en este caso un respaldo incremental agendado cada cierto horario.

    La segunda opción ya la manejo, pero en el servidor que estoy tratando de averigurar esta información es de ambiente de desarrollo, por éste motivo realizo la consulta estimado, saludos! ;)


    C.S.M.M.
    lunes, 13 de diciembre de 2010 13:38
  • Hola.

    La forma de determinar ese hecho es mediante una traza de profiler puesta durante 60 días o cualquier operación de auditado equivalente. Pero a posteriori, es difícil. Puedes usar estadísticas, que te darán información que incluye tareas administrativas y no deja de ser eso, una estadística (fiabilidad limitada, por ejemplo, si hubo un reinicio del servicio, la información se pierde).

     

     


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    lunes, 13 de diciembre de 2010 14:38
    Moderador
  • Entiendo lo que dices, en ese caso secundo la parte donde Alberto indica que debes de utilizar un tipo de auditoria para conocer estas informaciones con mayor facilidad.

    Aqui te dejo un enlace donde puedes ver un ejemplo de esto, espero que te sirva.

    http://sqlblog.com/blogs/aaron_bertrand/archive/2008/05/06/when-was-my-database-table-last-accessed.aspx

    Willy Taveras.-

    http://itlearn.net

    lunes, 13 de diciembre de 2010 14:50
    Moderador