Recupere scripts SQL no grabados debido a un bloqueo de SQL Server Management Studio

Recuperar trabajo después de bloqueos de SQL Server Management Studio

Imagine una situación de trabajar en SSMS y súbitamente la electricidad se corta, el sistema se bloquea, SSMS se bloquea o su sesión de trabajo fue abruptamente terminada por cualquier otra razón, lo que causa la pérdida de trabajo no grabado en varios scripts SQL. En esta situación SSMS provee un diálogo para datos recuperados después de reiniciar:

Pero desafortunadamente, muchas veces SSMS, por cualquier razón, no responde para recuperar los archivos perdidos o los scripts no guardados.

Una alternativa para recuperar los datos después de un bloqueo de SQL Server Management Studio es desde la carpeta Solution1, la cual está localizada, para XP o inferior, en:

C:\Documents and Settings\[User]\My Documents\SQL Server Management Studio\Backup Files\

O para Vista/Windows 7, 8, 10 o inferior:

C:\Users\[User]\Documents\SQL Server Management Studio\Backup Files\

Quick tip icon

Consejo rápido:

La recuperación automática sólo funciona para los archivos que han sido previamente grabados. Así que, los archivos que no han sido grabados antes (por ejemplo, SQLQuery1.sql, SQLQuery2.sql, etc.) del bloqueo de SQL Server Management Studio no serán recuperados.

Recupere scripts/archivos SQL no grabados

Hay situaciones cuando SQL Server Management Studio o una ventana de consultas particular es accidentalmente cerrada antes de grabar los scripts. Para recuperar los scripts de consultas SQL no grabados en esta situación, use el siguiente código:

El ejemplo es prestado desde: Retrieve Unsaved/Lost SQL Script Files due to SSMS Crash or Accidental SSMS Termination

USE < DATABASE >

SELECT execquery.last_execution_time AS [Date Time]
	,execsql.TEXT AS [Script]
FROM sys.dm_exec_query_stats AS execquery
CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql
ORDER BY execquery.last_execution_time DESC

Esto proveerá la lista de todos los scripts ejecutados en el servidor que fue ejecutado en las últimas 24 horas.

Recupere scripts/archivos no grabados con la opción Tab navigation

Usando la característica Tab navigation de ApexSQL Complete, un complemento gratis para SSMS y Visual Studio, todos los scripts pueden ser retenidos en cualquiera de los escenarios mencionados, por ejemplo, un bloqueo de SSMS.

Para habilitar la característica Tab navigation, vaya al menú de ApexSQL Complete, desde la lista elija la opción Options, y debajo de Tab navigation seleccione la opción Enable tab navigation:

Para usar esta característica, desde el menú de ApexSQL Complete elija la opción Tab navigation para iniciar el panel Tab navigation, el cual mostrará todas las pestañas abiertas debajo de la sección de la pestaña Opened:

Todas las pestañas cerradas serán colocadas debajo de la pestaña Recently closed, sin importar si fueron grabadas o no.

Quick tip icon

Consejo rápido:

Una vez habilitada, la característica Tab navigation comienza a monitorear las pestañas abiertas o cerradas, sin importar si el panel Tab navigation es iniciado o no.

Quick tip icon

Consejo rápido:

Todas las pestañas abiertas y cerradas son almacenadas por defecto en la carpeta Tab navigation, localizada en C:\Users\\AppData\Local\ApexSQL\ApexSQLComplete\TabNavigation, y pueden ser copiadas y usadas en otra máquina donde ApexSQL Complete está ya instalado.

Recuperando datos después de que SQL Server Management Studio se bloquea con la opción Tab navigation

Para restaurar todas las pestañas abiertas después de una finalización inesperada de una sesión de trabajo, la opción Restore previous sesión after crash debe estar seleccionada:

Adicionalmente, para restaurar las consultas en las cuales está trabajando actualmente, la siguiente vez que inicie SSMS, haga clic en el botón Save workspace en el panel Tab navigation:

Para restaurar un espacio de trabajo previamente grabado, haga clic en la opción Restore workspace desde la barra de herramientas:

Una opción para restaurar automáticamente espacios de trabajo grabados previamente al siguiente inicio de SQL Server Management Studio es seleccionando la opción Restore workspace on startup:

Recursos útiles:

Recover unsaved SQL queries from SQL Server Management Studio (SSMS)
Auto Recover information is not saved
Retrieve Unsaved/Lost SQL Script Files due to SSMS Crash or Accidental SSMS Termination

Febrero 23, 2017