Ответ 1
Файл журнала используется для транзакционных целей, даже если база данных находится в режиме SIMPLE RECOVERY MODE. Если размер журнала действительно превышает 500 МБ, то кто-то запускает запрос или хранимую процедуру, требующую этого пространства.
Например, возможно, вы создаете индексы против ваших таблиц отчетов. Это будет сделано внутри транзакции, так что изменения могут быть отброшены в случае ошибки. Тем не менее, используемое пространство будет выпущено впоследствии для других транзакций после завершения.
Итак, если размер журнала начинается с 1 МБ и увеличивается, скажем, 700 МБ, то что-то делается, что требует этого пространства. Если вы заблокируете размер до 500 МБ, вы в конечном итоге получите ошибку "log file out space".
Но если вы действительно хотите исправить его на уровне 500 МБ, вы можете сделать следующее: (Я использую SQL Server 2005)
- Запуск Microsoft SQL Server Management Studio
- Найдите свою базу данных и щелкните ее правой кнопкой мыши. Выберите "Свойства".
- Выберите раздел "Файлы"
- Найдите строку журнала FILE.
- Измените начальный размер на: 500
- Найдите раздел "Авторазработка" и нажмите на эллипс (...)
- Снимите флажок "Включить авторазборку". Нажмите "ОК".
- Нажмите OK, чтобы внести изменения.
Примечание. Вы также можете установить максимальный размер файла журнала в разделе "Авторазработка".
В качестве альтернативы вы можете использовать следующий script, чтобы внести изменения. Замените DATABASENAME на соответствующее значение. Также измените имя файла журнала, если это необходимо.
USE [master]
GO
ALTER DATABASE [DatabaseName] MODIFY FILE ( NAME = N'DATABASENAME_Log', SIZE = 512000KB , FILEGROWTH = 0)
GO