Как удалить автономные файлы из базы данных SQL Server 2005 - PullRequest
2 голосов
/ 20 января 2009

У меня есть база данных, которая была восстановлена ​​из экземпляра SQL 2000 в экземпляр SQL 2005 некоторое время назад. В экземпляре SQL 2000 определены старые неиспользуемые полнотекстовые поиски.

Похоже, что при восстановлении файла полнотекстовый поиск не был восстановлен, а просто удален.

Это оставило базу данных в смешном состоянии, при этом файлы FTS, все еще связанные с базой данных, но файлы, о которых база данных знает, перечислены как OFFLINE. Который, оказывается, удерживает базу данных от полного резервного копирования.

Итак, кто-нибудь знает, как удалить файлы из базы данных? ALTER DATABASE REMOVE FILE возвращает

Msg 5009, уровень 16, состояние 2, строка 1 Один или несколько файлов, перечисленных в операторе, не найдены или не могут быть инициализированы.

Фактическая команда резервного копирования выдает одну из следующих ошибок для каждого несуществующего файла:

Сообщение 9987, уровень 16, состояние 1, строка 1 Резервное копирование полнотекстового каталога '' не разрешено, поскольку оно не находится в сети. Проверьте файл журнала ошибок на предмет того, что полнотекстовый каталог перешел в автономный режим, и переведите его в оперативный режим. Либо РЕЗЕРВНОЕ КОПИРОВАНИЕ может быть выполнено с помощью предложений FILEGROUP или FILE, чтобы ограничить выбор включением только онлайн-данных.

Кто-нибудь знает, как решить эту проблему?

Ответы [ 3 ]

4 голосов
/ 20 января 2009

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

EXEC master.dbo.sp_detach_db @dbname = N'dbname', @keepfulltextindexfile=N'false'

Ключом здесь является второй флаг @keepfulltextindexfile, который по умолчанию имеет значение true. Если для этого параметра задано значение false, а затем повторно подключить базу данных, все данные FTS удаляются, и резервные копии могут работать так, как должны.

2 голосов
/ 14 октября 2011

Я исправил проблему отчета следующим образом

  1. Перевести базу данных в однопользовательский режим.
  2. Отключить базу данных. Но прежде чем нажать ОК для отсоединения, ОТМЕНА Храните полнотекстовые каталоги.
  3. Подключите базу данных
0 голосов
/ 20 января 2009

Вы должны были заполнить свои полнотекстовые каталоги. По умолчанию SQL Server 2005 не делает этого для ускорения процесса установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...