У нас есть продукт, который использует базу данных, и всякий раз, когда выполняется основной выпуск, один из сценариев обновления, используемых в базе данных, вызывает одну из наших хранимых процедур, задачей которой является удаление, а затем повторное создание полнотекстового индекса, таким образом гарантируя любые изменения (т.е. новые столбцы, которые проиндексированы) в новом релизе.
Проблема в том, что если наш клиент настроил базу данных в режиме полного восстановления, это не удастся в тот момент, когда он попытается воссоздать полнотекстовый индекс.
Чтобы инструкции по обновлению были как можно более простыми, я не хочу, чтобы ИТ-специалист делал что-либо, кроме запуска набора сценариев в соответствии с именами файлов (т.е. запускал 001 - xxx.sql, затем запускал 002 xxx .sql и т. д.).
Поэтому идея, которую я решил попробовать, заключалась в том, чтобы SP, который удаляет / воссоздает, делал резервную копию журнала транзакций, если база данных настроена для них в режим полного восстановления, путем резервного копирования в то же место, где была сделана последняя резервная копия журнала транзакций. Проблема в том, как узнать последнее местоположение?
Я искал и нашел сценарии, указывающие на использование sys.sysdatabases и msdb..backupset, но в этих таблицах, похоже, нет нужной мне информации.
Любые идеи? Это вообще возможно?