Saltar al contenido

¿Puedo ver consultas históricas ejecutadas en una base de datos de SQL Server?

Es fundamental interpretar el código correctamente antes de adaptarlo a tu proyecto y si tquieres aportar algo puedes dejarlo en la sección de comentarios.

Solución:

De manera similar, Grant Fritchey tuvo un problema en el que cerró SSMS y perdió la consulta en la que había estado trabajando… blogueó aquí: ¡Oh, **********!

EDITAR

Para que esto sea un poco más detallado de una respuesta, el enlace mencionado anteriormente Grant proporciona una consulta para simplemente ir al caché en la instancia para extraer la consulta que acaba de ejecutar (o al menos intentar):

SELECT  dest.text
FROM    sys.dm_exec_query_stats AS deqs
        CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
WHERE   deqs.last_execution_time > '5/19/2011 11:00'
        AND dest.text LIKE 'WITH%';

Algunas opciones más que se anotaron en los comentarios del blog de Grant:

  • Jamie Thomson señala dónde SSMS en realidad tiene un área de “recuperación” debajo de su perfil de Windows, similar a la recuperación de Word o Excel.
  • Otra nota individual en los comentarios sobre el paquete de herramientas de SSMS, pero este complemento solo es gratuito para SQL Server 2008. A partir de SQL Server 2012, solo se paga, pero tiene muchas características que pueden resultarle útiles.

2005+, seguimiento predeterminado al rescate.

El seguimiento predeterminado se transfiere a 20 mb, pero SQL conserva el historial de 5 seguimientos. Con acceso al servidor, puede recuperar los archivos *.trc del directorio MSSQLLog. Si no puede acceder al servidor, lo siguiente le dará el nombre del archivo de seguimiento predeterminado actual:

SELECT * FROM ::fn_trace_getinfo(default) 

Si el archivo actual es, por ejemplo, E:MSSQL.1MSSQLLOGlog_200.trc, los archivos anteriores deben ser log_199.trc, log_198.trc, etc. Obtenga el contenido de la traza con:

SELECT * FROM fn_trace_gettable('E:MSSQL.1MSSQLLOGlog_199.trc', default)

puede que ser capaz de recuperar información de los planes de consulta almacenados en caché, consultar BOL para obtener información sobre sys.dm_exec_query_stats o ejecutar esto desde Management Studio conectado a la misma base de datos:

SELECT  d.plan_handle ,
        d.sql_handle ,
        e.text

FROM    sys.dm_exec_query_stats d
        CROSS APPLY sys.dm_exec_sql_text(d.plan_handle) AS e

Filtrar la salida con

WHERE text like '%something%'

para acotar los resultados.

valoraciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *