Размер файла журнала SQL Server 2008 большой и быстро растет

Большую часть времени пользователи будут попадать в базу данных, чтобы читать новости. По транзакциям выполняется очень мало запросов. 95% обращений к базе данных будут предназначены только для чтения.

Размер файлов журнала моей базы данных растет на 1 ГБ в день. Даже если я уменьшу базу данных, размер файла журнала не уменьшается. Что может быть причиной увеличения размера файла журнала все больше и больше? Как я могу контролировать это? Насколько мне известно, файл журнала не увеличивается, когда мы читаем данные из таблиц.

Любые предложения о том, как бороться с ростом файла журнала? Как сохранить приемлемый или разумный размер? Влияет ли это на производительность?

4 ответа

Есть несколько вещей, чтобы рассмотреть. Какой тип резервного копирования вы делаете, и какой тип резервного копирования вам нужен. Если у вас будет ответ на этот вопрос, вы можете либо переключить режим восстановления в простой, либо оставить его заполненным, но тогда вам нужно делать ежедневные инкрементные резервные копии (или все, что вас радует размером журнала).

Чтобы сделать простое ведение журнала базы данных (но только если вы выполняете полное резервное копирование базы данных!).

  1. Щелкните правой кнопкой мыши на вашей базе данных
  2. Выберите Свойства
  3. Выберите параметры
  4. Установите режим восстановления на простой

Это будет работать, и лучше всего, если ваш график резервного копирования - Full Backup каждый день. Потому что в таком случае ваш журнал не будет обрезан, и он будет стремительно расти (как и в вашем случае).

Если вы будете использовать технику резервного копирования "Дедушка, папа и сын", то есть еженедельное полное резервное копирование, еженедельное полное резервное копирование, а затем ежедневное инкрементное резервное копирование. Тогда для этого вам нужен режим полного восстановления. Если 1 ГБ журнала в день все еще слишком много, вы можете включить инкрементное резервное копирование в час или каждые 15 минут. Это должно решить проблему роста журнала все больше и больше.

Если вы запускаете полное резервное копирование каждый день, вы можете переключить его в простой режим восстановления, и у вас все будет в порядке, не рискуя своими данными (если вы можете уйти с возможным 1 днем ​​потери данных). Если вы планируете использовать добавочный режим, оставьте его в режиме восстановления Full.

Полные резервные копии не помогут, вы должны регулярно делать резервные копии журнала транзакций (а также регулярных полных и разностных резервных копий базы данных) для его очистки. Если вы не выполняете резервное копирование журнала и не находитесь в простом режиме восстановления, то в вашем журнале транзакций содержатся все транзакции с момента создания базы данных. Если у вас есть достаточно действий, которые вы увеличиваете на один день в день, то вы также можете иметь большой импорт или обновления, затрагивающие сразу несколько записей. Возможно, вам нужно находиться в простом режиме восстановления, где транзакции не записываются индивидуально. НЕ делайте этого, однако, если у вас есть смесь данных из импорта и пользователей. В этом случае вам необходимо часто выполнять резервное копирование журнала транзакций, чтобы иметь возможность поддерживать управляемый размер и на определенный момент времени. Мы создаем резервную копию нашего журнала транзакций каждые 15 минут.

Прочтите о резервных копиях журналов транзакций в BOL, чтобы узнать, как исправить ситуацию, которая у вас есть прямо сейчас. Затем настройте и запустите ваши резервные копии. Вы должны прочитать и понять все это, прежде чем пытаться исправить. Прямо сейчас вы, вероятно, окажетесь в мире боли, если ваш сервер выйдет из строя и вам придется восстановить базу данных. Резервные копии журналов транзакций имеют решающее значение для правильного восстановления после сбоя.

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

Основной причиной большого размера файла журнала является массовая транзакция в БД. Чтобы уменьшить размер файла журнала, лучше всего выполнить резервное копирование журнала транзакций через определенный промежуток времени.

Другие вопросы по тегам