Top menu

Уменьшение размера журнала транзакций 'DeviceLockDB_log.LDF'

ОПИСАНИЕ

Журнал транзакций  'DeviceLockDB_log.LDF' базы данных DeviceLock вырастает до больших размеров за короткий промежуток времени

КОММЕНТАРИИ

Журнал транзакций хранит записи о всех произведенных в БД SQL Server изменениях и подробную информацию о каждой из транзакций, в ходе которых эти изменения выполнялись. Поскольку поддержка целостности данных является одним из основных принципов функционирования SQL Server, отключить журнал транзакций невозможно.

По умолчанию SQL Server 2000 и SQL Server 2005 устанавливают для базы данных полную модель восстановления. При использовании полной модели восстановления, для того чтобы предотвратить непропорциональное размеру базы данных увеличение файла журнала транзакций, нужно регулярно создавать резервную копию журнала транзакций. Если резервное копирование не будет осуществляться, файл журнала транзакций будет увеличиваться вплоть до исчерпания дискового пространства. В последнем случае SQL Server может перестать выполнять операции, требующие внесения изменений в базу данных.

РЕКОМЕНДАЦИИ


1. Если не планируется использовать журнал транзакций для восстановления данных в случае повреждения БД, можно переключить модель восстановления с полной на простую:
- через интерфейс MS SQL Server Management Studio-> правой кнопкой мыши на нужную базу данных->Свойства (Properties)-> Настройки (Options)-> Простая модель восстановления (Set model to simple)--> OK.

- Запрос:
sp_dboption [dbname], 'trunc. log on chkpt.', 'true'

2. Операция уменьшения файла журнала транзакций:

BACKUP LOG db_name WITH TRUNCATE_ONLY

go

DBCC SHRINKFILE (db_log_name)

go

*Где db_log_name имя уменьшаемого журнала транзакций

3. Уменьшение журнала транзакций посредством отсоединения/присоединения базы:

-  через интерфейс MS SQL Server Management Studio-> правой кнопкой мыши на нужную базу данных-> Задачи (Tasks)--> Отсоединить (Detach...) --> удалите или переименуйте журнал транзакций --> Присоедините базу (Attach...)

- запрос:
sp_detach_db [db_name]

*удалите или переименуйте текущий журнал транзакций

sp_attach_single_file_db [db_name], [filename]

*Где [filename] имя физического файла базы (.mdf).

ПРИМЕЧАНИЕ

Дополнительную информацию по операции уменьшения файла журнала транзакций Вы найдете в статьях MS:

http://msdn.microsoft.com/en-us/library/aa174538%28SQL.80%29.aspx
http://support.microsoft.com/kb/873235/ru