web-dev-qa-db-fra.com

Récupérer des scripts de requête SQL non sauvegardés

Comment récupérer les scripts non enregistrés si l'onglet Crashes/non enregistrés de SSMS se ferme accidentellement?

183
BumbleBee

Afficher ceci au cas où quelqu'un tomberait dans le même problème.

Googlé pour récupérer des scripts non enregistrés et trouvé une solution.

Exécutez le script select suivant. Il fournit une liste des scripts et leur heure d'exécution au cours des dernières 24 heures. Cela sera utile pour récupérer les scripts, si nous fermons notre fenêtre de requête dans SQL Server Management Studio sans enregistrer le script. Cela fonctionne pour tous les scripts exécutés, pas seulement une vue ou une procédure.

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
390
BumbleBee

Vous pouvez pouvoir les trouver à l’un de ces emplacements (en fonction de la version de Windows que vous utilisez).

Windows XP

C:\Documents and Settings\YourUsername\My Documents\SQL Server Management Studio\Backup Files\

Windows Vista/7/10

%USERPROFILE%\Documents\SQL Server Management Studio\Backup Files

OR

%USERPROFILE%\AppData\Local\Temp

googlé à partir de cette source et cette source.

156
Matt

Un peu tard pour la soirée, mais aucun des emplacements mentionnés précédemment ne fonctionnait pour moi - pour une raison quelconque, les fichiers de sauvegarde/récupération automatique ont été enregistrés dans le dossier VS15 de mon PC (ceci concerne SQL Server 2016 Management Studio)

C:\Utilisateurs\VOTRENOM\Documents\Visual Studio 2015\Fichiers de sauvegarde\Solution1

Vous voudrez peut-être vérifier vos paramètres Outils-Options-Environnement-Importation et exportation. L'emplacement des fichiers de paramètres pourrait vous diriger vers votre dossier de sauvegarde. Je n'aurais jamais cherché sous ce dossier.

36
DonQ

Utilisez l’emplacement suivant où vous pouvez trouver tous les ~AutoRecover.~vs*.sql (fichiers de récupération automatique):

C:\Users\<YourUserName>\Documents\SQL Server Management Studio\Backup Files\Solution1
31
Mandar

Peut-être que vous ne trouvez pas les répertoires suggérés ou que votre fichier de récupération est manquant, dieu merci, j'ai répliqué le crash avec un script non sauvegardé et m'a conduit à ce répertoire:

C:\Utilisateurs\utilisateur\OneDrive\Documents\Visual Studio 2015\Fichiers de sauvegarde\Solution1

Alors, peut-être que cela sauve votre journée :)

8
frapeti

Complément SSMSBoost (actuellement gratuit)

  • garde la trace de toutes les instructions exécutées (les enregistre sur le disque)
  • enregistre régulièrement des instantanés du contenu de l'éditeur SQL. Vous conservez l'historique des modifications de votre script. Parfois, la "meilleure" version n'est pas la dernière et vous souhaitez restaurer l'état intermédiaire.
  • garde la trace des onglets ouverts et permet de les restaurer après le redémarrage. Les onglets non enregistrés sont également restaurés.

+ tonnes d'autres fonctionnalités. (Je suis le développeur du complément)

5
Andrei Rantsevich

J'utilise Windows 8 et j'ai trouvé les scripts manquants dans le chemin ci-dessous:

C:\Users\YourUsername\Documents\SQL Server Management Studio\Backup Files
5
M PRATAP

J'ai pu récupérer mes fichiers à partir de l'emplacement suivant:

C:\Users\<yourusername>\Documents\SQL Server Management Studio\Backup Files\Solution1

Il devrait y avoir différents fichiers de récupération par onglet. Je dirais de chercher les fichiers pour la date à laquelle vous les avez perdus.

3
NonProgrammer

Vous pouvez trouver des fichiers ici, lorsque vous avez fermé la fenêtre SSMS accidentellement

C:\Windows\System32\SQL Server Management Studio\Backup Files\Solution1
3
Naveen

Allez à SSMS >> Outils >> Options >> Environnement >> Récupération automatique

Il y a deux paramètres différents:

1) Enregistrer les informations de récupération automatique toutes les minutes

Cette option enregistre le fichier de requête SQL à un certain intervalle. Définissez cette option sur la valeur minimale possible pour éviter toute perte. Si vous avez défini cette valeur sur 5, dans le pire des cas, vous pouvez perdre les 5 dernières minutes de travail.

2) Conserver les informations de récupération automatique pendant des jours

Cette option préservera les informations de récupération automatique pour les jours spécifiés. Cependant, je suggère qu'en cas d'accident, ouvrez immédiatement SQL Server Management Studio et récupérez votre fichier. Ne tergiversez pas cette tâche importante pour les dates futures.

3
noobjet

Je sais que c'est un vieux fil de discussion, mais pour ceux qui cherchent à récupérer un script après un crash de SSMS, procédez comme suit:

  1. Ouvrir le disque local (C):
  2. Ouvrir le dossier des utilisateurs
  3. Recherchez le dossier correspondant à votre nom d'utilisateur et ouvrez-le.
  4. Cliquez sur le fichier Documents
  5. Cliquez sur le dossier Visual Studio ou sur Dossier de sauvegarde des fichiers s'il est visible.
  6. Cliquez sur le dossier de sauvegarde des fichiers
  7. Ouvrir le dossier Solution1
  8. Tous les fichiers temporaires récupérés seront ici. Les fichiers se termineront par vs suivi d'un nombre tel que vs9E61
  9. Ouvrez les fichiers et vérifiez votre code perdu. J'espère que ça t'as aidé. Ces étapes exactes ont juste fonctionné pour moi. im utilisant serveur SQL Express 2017
2