По материалам статьи Muthusamy Yih-Yoon Lee: Document
Recovery Feature in SQL Server Management
Studio
Перевод Александра
Гладченко
Недавно, одни из коллег автора по форуму бета-тестеров Erin
Welker обнаружил, что SQL Server Management Studio 2005 умеет,
подобно документам Microsoft Word, восстанавливать
редактируемые в его инструментальной среде документы, если
произошло неожиданное завершение работы компьютера, а документ
пользователем ещё не был сохранён.
Автор провёл некоторые исследования, чтобы узнать побольше
о том, как это работает. Вот результаты его исследования:
-
Когда Вы открываете для запроса новое подключение, в
папке \temp создаётся временный файл. Местоположение
временной папки определяется вашей переменной
пользовательской среды: TEMP. У автора файл был создан в
папке C:\Documents и Settings\yihyoon\Local Settings\Temp.
Имя файла будут следующего формата ~vs##.sql, где ##
является набором символов или цифр. В момент открытия
подключения этот файл пуст.
-
Если открывается не пустой файл с запросом, скажем, Вы
уже создали необходимый запрос, будет создан другой
временный файл, именуемый ~AutoRecover.~vs##.sql. По
умолчанию файл будет сохранен в папку My Documents\SQL
Server Management Studio\Backup Files.
-
Если вдруг компьютер завис и его понадобилось
перезагрузить, когда Вы снова запустите SQL Server
Management Studio, Вам будет выведено диалоговое окно,
пример которого представлен на рисунке ниже:
-
Независимо от того, решите ли Вы восстановить файл, сам
файл будет переименован в
Recovered-MM-DD-YYYY-HHMM.~vs##.sql и помещён в папку My
Documents\SQL Server Management Studio\Backup Files\. В то
же момент, файл ~vs##.sql, находящийся в папке \temp будет
заменён последней версией документа. Оригинал ~vs##.sql
будет переименован и скопирован в My Documents\SQL Server
Management Studio\Backup Files\ с новым именем:
Original-MM-DD-YYYY-HHMM.~vs##.sql.
Подобно описанию аналогичной процедуры в справочной системе
Microsoft Word, в имени файла отражается его состояние.
Варианты индикации состояний файлов:
[Original] - оригинал файла, каким он был на момент
последнего сохранения.
[Recovered] - восстановленный файл,
полученный после завершения управляемой пользователем
процедуры восстановления или после сохранения при
автоматическом восстановлении.
Есть два вопроса, которые не удалось выяснить автору:
-
Каково принятое разработчиками соглашение об именах
файлов? Автор встречал варианты: vsC, vsE, vs3C, vs15.
-
Также неясно, в какой момент файл будет сохранен в папку:
C:\My Documents\SQL Server Management Studio\Backup. Автор
наблюдал сохранение файлов в течение минуты. Хотя в других
случаях на это потребовалось больше минуты.
В заключение автор приглашает всех воспользоваться этим
новшеством, особенно тех разработчиков, которые не имеют
привычки часто сохранять свои файлы.
[В
начало]