Можно ли узнать последнее место резервного копирования, используемое для файла журнала транзакций в SQL 2005 или выше?

У нас есть продукт, который использует базу данных, и всякий раз, когда выполняется основной выпуск, один из сценариев обновления, используемых в базе данных, вызывает одну из наших хранимых процедур, задачей которой является удаление, а затем повторное создание полнотекстового индекса, таким образом гарантируя любые изменения (т.е. новые столбцы, которые проиндексированы) в новом релизе.

Проблема в том, что если наш клиент настроил базу данных в режиме полного восстановления, это не удастся в тот момент, когда он попытается воссоздать полнотекстовый индекс.

Чтобы инструкции по обновлению были как можно более простыми, я не хочу, чтобы ИТ-специалист делал что-либо, кроме запуска набора сценариев в соответствии с именами файлов (т.е. запускал 001 - xxx.sql, затем запускал 002 xxx .sql и т. д.).

Поэтому идея, которую я решил попробовать, заключалась в том, чтобы SP, который удаляет / воссоздает, делал резервную копию журнала транзакций, если база данных настроена для них в режим полного восстановления, путем резервного копирования в то же место, где была сделана последняя резервная копия журнала транзакций. Проблема в том, как узнать последнее местоположение?

Я искал и нашел сценарии, указывающие на использование sys.sysdatabases и msdb..backupset, но в этих таблицах, похоже, нет нужной мне информации.

Любые идеи? Это вообще возможно?


person Peter    schedule 23.09.2011    source источник


Ответы (1)


Должно быть в столбце msdb..backupmediafamily, Physical_device_name

person gbn    schedule 23.09.2011