web-dev-qa-db-ja.com

SQL Server 2012 Management Studioが自動リカバリファイルを保存しない

Tools > Environment > AutoRecoverに行こうとしました。

  • 自動保存保存のチェックボックスをチェックします。
  • 「5」分ごとに保存します。
  • 自動回復情報を7日間保持します。

ただし、自動回復ファイルは保存されず(ユーザーフォルダー内で*.sqlを検索しました)、電源が切れてManagement Studioが閉じたときに自動回復することはお勧めしません。

レジストリを検索して、HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Serverで何かが手動で変更されたかどうかを確認しましたが、CustomerFeedという1つのキーしか見つかりませんでした。

6
BornToCode

AutoRecover情報は保存されない によると、SSMS 2012は以前に保存されたクエリのリカバリファイルのみを保存します(これにより、いくつかの問題が発生しました)。保存されていないファイルは、C:\ Users \%USERNAME%\ AppData\Local\Tempにダンプされるようです。

だからあなたはチェックすることができます:

  • C:\ Users \%USERNAME%\ Documents\SQL Server Management Studio
  • C:\ Users \%USERNAME%\ AppData\Local\Temp

個人的には、クエリのバージョン管理にTFSを使用し、すべての実行前に保存します。 SSMSでかなりの数のクエリを失ったため、非常に注意する傾向があります。

それらがディスク上に見つからない場合、キャッシュからプッシュされる前にそれらをキャッチする限り、 プロシージャキャッシュからクエリを回復する する方法があります。 実行プランのキャッシュと再利用 も参照してください。

6
efesar

私が開発したSSMSBoostアドインでこの問題を修正しました:

http://www.ssmsboost.com/Features/ssms-add-in-sql-editor-contents-history

自動回復情報は、保存されたドキュメントと未保存のドキュメントのすべてに対して保存されます。エディターのコンテンツ履歴をナビゲートし、実行されたクエリを追跡することもできます。

2