Compartilhar via


Уменьшение размера log файла в SQL Server 2008

Некоторые базы с которыми я работаю имеют очень интересную жизненную историю и тяжелое детство в связи с чем можно наблюдать такую картинку, что размер mdf файла, чуть больше 500 Мб, а вот log файл сильно за 4 Гб. Поскольку таких баз у меня много, а места на диске, увы, уже мало.

Для SQL Server до 2008 версии я пользовался следующей процедурой:

USE ИмяБазы
BACKUP LOG ИмяБазы WITH TRUNCATE_ONLY
DBCC SHRINKFILE( ИмяФайлаЛогаЖелаемыйРазмер )

С SQL Server 2008 этот метод не работает, поэтому следует использоват другую процедуру:

USE ИмяБазы
ALTER DATABASE ИмяБазы SET RECOVERY SIMPLE
DBCC SHRINKFILE (ИмяФайлаЛога, ЖелаемыйРазмер);
ALTER DATABASE ИмяБазы SET RECOVERY FULL

Думаю теперь, что делать с освободившимися несколькими десятками Гб :)

Comments

  • Anonymous
    April 09, 2009
    Глупый вопрос. А почему не держать такие базы в SIMPLE режиме?

  • Anonymous
    April 09, 2009
    The comment has been removed

  • Anonymous
    April 10, 2009
    Спасибо за уточнения метода для SQL2008. И все же, выполнение скрипта - это ручная работа (если конечно его не зашедулить). Но предусмотрено более удобное средство: если хотите забыть про мониторинг за размером лога и периодическое его обрезание - помогут Maintenance plan-ы (настравивается за 2 минуты):

  • в план последовательно добавляются операции Shrink и Backup;
  • он настраивается на периодическое исполнение (можно даже уведомления по почте сделать при желании);
  • можно указать в качестве target ВСЕ базы данных на сервере - удобство в том, что при добавлении новой она автоматически добавляется в Maintenance plan;
  • Anonymous
    April 10, 2009
    по отношению к субд я предерживаюсь более консервативного мнения: лишний раз не трогать ,использовать 2005 SQL с sp

  • Anonymous
    April 12, 2009
    The comment has been removed

  • Anonymous
    April 12, 2009
    В этой задаче так - мне нужно держать базу в состоянии поддерживающем откат в течение какого-то длительного времени, но наступает момент, когда мне все больше не интересны возможности отката, поэтому я делаю shrink, после этого backup и архивацию.