Назад | Перейти на главную страницу

База данных SQL Server с двумя файлами журнала

SQL Server 2008 Enterprise

Я унаследовал базу данных SQL, которая была настроена для использования двух файлов журнала транзакций. Я хотел бы просто избавиться от одного из файлов журнала, потому что это действительно не лучшая практика и просто создает дополнительные требования к обслуживанию. Я сделал полную резервную копию и восстановил ее на тестовом сервере и попытался просто удалить второй файл журнала с помощью SSMS.

«Удалить», похоже, сработало, но когда я позже вернулся в базу данных, второй файл снова появился (размером 1 МБ). На этом этапе я вообще не смог удалить его снова, получил ошибку от инструмента SSMS.

Взгляните на sys.database_files в контексте рассматриваемой базы данных. В частности, посмотрите на столбцы state_desc и drop_lsn. Возможно, вам придется создать резервную копию базы данных после удаления файла, чтобы он полностью исчез из системы.

Сделайте резервную копию файла журнала SQL, затем удалите файл журнала из базы данных. Выполняемое вами резервное копирование будет зависеть от модели восстановления вашей базы данных.

Ты можешь использовать ALTER DATABASE для удаления файла журнала, если в нем нет активных данных.

ALTER DATABASE MyDataBase
REMOVE FILE MyDataBaseLog

куда MyDataBaseLog - логическое имя файла вашего журнала.

Вы можете получить логическое имя вашего файла журнала, используя sp_helpdb:

sp_helpdb MyDataBase

Информация о файле находится во втором наборе результатов, возвращаемом sp_helpdb