Alguien estaba ejecutando una consulta en nuestra base de datos de SQL Server de forma remota y su sistema se bloqueó.
No tienen copia de seguridad de esa consulta y desean ver qué se ejecutó en el servidor.
¿Es posible encontrar esta consulta en un registro o en un historial en alguna parte?
sql-server
logs
usuario87094
fuente
fuente
Respuestas:
Similarmente, Grant Fritchey tuvo el problema de haber cerrado SSMS y haber perdido la consulta en la que había estado trabajando ... escribió en un blog 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):
Algunas opciones más que se observaron en los comentarios del blog de Grant:
fuente
2005+, seguimiento predeterminado al rescate.
La traza predeterminada se reinicia a 20 mb, pero SQL conserva el historial de 5 trazas. Con acceso al servidor, puede recuperar los archivos * .trc del directorio MSSQL \ Log. Si no puede acceder al servidor, lo siguiente le dará el nombre del archivo de rastreo predeterminado actual:
Si el archivo actual es, por ejemplo, E: \ MSSQL.1 \ MSSQL \ LOG \ log_200.trc, los archivos anteriores deben ser log_199.trc, log_198.trc, etc. Obtenga el contenido de la traza con:
fuente
Es posible que pueda recuperar información de los planes de consulta en caché, verifique BOL para obtener información sobre sys.dm_exec_query_stats, o ejecutar esto desde el estudio de administración conectado a la misma base de datos:
Filtrar la salida con
para reducir los resultados.
fuente
Si la base de datos estaba en modo de recuperación completa, entonces podría existir la posibilidad de recuperar algunos datos y obtener información sobre lo que se hizo leyendo el registro de transacciones.
Lamentablemente, esto no es compatible de forma predeterminada, pero hay formas de hacerlo.
Puede intentar usar herramientas de terceros como ApexSQL Log o SQL Log Rescue (gratis pero solo SQL 2000).
Otra opción es intentar usar las funciones no documentadas DBCC LOG o fn_dblog. Esto es más complejo pero es gratis.
fuente
Si su base de datos está configurada con el modelo de recuperación completa, puede investigar sus copias de seguridad del registro de transacciones. Ver
fn_dump_dblog
para más información.fuente
ApexSQL tiene una funcionalidad de ' ejecutadas' que le permite buscar y filtrar por fecha.
No estoy seguro de si extrae el historial del caché SSMS o si realmente lo rastrea por sí mismo. Podrías intentar instalarlo y esperar lo mejor.
fuente