Published on

December 18, 2020

Recuperando Scripts SQL Perdidos en SQL Server Management Studio

Si trabajas con SQL Server, es muy probable que trabajes con SQL Server Management Studio (SSMS). Y si lo usas con frecuencia, es también muy probable que te hayas encontrado con uno de estos escenarios molestos antes.

Escenario 1: Recuperación después de un Cierre Inesperado con Auto Recuperación

Imagina que estás trabajando en un script SQL en SSMS y de repente SSMS o tu PC se cierra inesperadamente. Puede parecer que has perdido tu trabajo y necesitas empezar de nuevo. Pero no te preocupes, hay una forma sencilla de recuperar tu script.

Simplemente vuelve a abrir SSMS y se te presentará la ventana “Microsoft SQL Server Management Studio Recovered Files” (Archivos Recuperados de Microsoft SQL Server Management Studio). Al hacer clic en “Recover Select Files” (Recuperar Archivos Seleccionados), podrás abrir una copia temporalmente guardada de la ventana de Consulta.

SSMS escribe el contenido de cada pestaña de Consulta en archivos temporales, que se pueden encontrar en varias ubicaciones dependiendo de tu sistema operativo y versión de SSMS. Puedes localizar estos archivos utilizando PowerShell o la funcionalidad de búsqueda de tu editor de texto.

La advertencia con este método es que el archivo temporal se borra cuando la pestaña se cierra correctamente. Por lo tanto, es importante guardar tu trabajo con frecuencia para evitar perderlo en caso de un cierre inesperado.

Escenario 2: Recuperación después de Cerrar una Pestaña Accidentalmente

Otro escenario común es cerrar accidentalmente una ventana de Consulta sin guardar los cambios. Esto puede ser frustrante, especialmente si has pasado una cantidad significativa de tiempo trabajando en el script.

En este caso, puedes recuperar el script consultando las Vistas de Administración Dinámica (DMVs) en el lado del servidor SQL. Las DMVs son vistas del sistema que almacenan información sobre la actividad del sistema, incluyendo las consultas ejecutadas.

Para recuperar el script perdido, puedes utilizar la siguiente consulta:

SELECT txt.TEXT AS [Sentencia SQL]
     , qs.LAST_EXECUTION_TIME AS [Última Ejecución]
FROM SYS.DM_EXEC_QUERY_STATS AS [qs]
    CROSS APPLY SYS.DM_EXEC_SQL_TEXT(qs.SQL_HANDLE) AS txt
ORDER BY qs.LAST_EXECUTION_TIME DESC;

Esta consulta mostrará las sentencias SQL junto con la última vez que fueron ejecutadas. Puedes copiar el script deseado desde el resultado y pegarlo en otra ventana de Consulta.

Es importante tener en cuenta que este método solo funciona si la consulta ha sido ejecutada. Si la consulta nunca fue ejecutada, no habrá un registro de ella en las DMVs. Además, los datos de las DMVs se borran cuando se reinicia el servidor SQL.

Conclusión

En este artículo, hemos explorado dos métodos para recuperar scripts SQL potencialmente perdidos en SQL Server Management Studio. Al utilizar la función de Auto Recuperación y consultar las DMVs, puedes ahorrar tiempo y evitar la frustración de empezar de nuevo.

Sin embargo, la mejor manera de prevenir la pérdida de datos es guardar tu trabajo con frecuencia utilizando el atajo Ctrl-S. Siguiendo esta práctica sencilla, puedes asegurarte de que tus scripts siempre estén respaldados y sean fácilmente recuperables.

Recuerda, los accidentes ocurren, pero con las herramientas y prácticas adecuadas, puedes minimizar el impacto y mantener tu trabajo seguro.

Última Actualización del Artículo: 2022-05-16

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.