Когда следует использовать автоматическое сжатие файлов журналов в SQL Server? - PullRequest
6 голосов
/ 18 декабря 2008

У меня было несколько проблем с слишком большими файлами журналов на моих серверах SQL Server (2000). Microsoft не рекомендует использовать автоматическое сжатие для файлов журналов, но, поскольку это функция, она должна быть полезной в некоторых случаях. Кто-нибудь знает, когда уместно использовать свойство auto shrink?

Ответы [ 4 ]

12 голосов
/ 18 декабря 2008

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

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

4 голосов
/ 18 декабря 2008

Мое предположение заключается в том, что автоматическое сжатие полезно, когда у вас есть много довольно небольших баз данных, которые часто увеличиваются из-за добавления данных, а затем имеют много пустого пространства. Вы также должны иметь в виду, что файлы будут фрагментированы на диске, когда они часто растут и сжимаются. Я бы никогда не использовал автоматическое сжатие для критически важной базы данных или базы данных размером более 2 ГБ, поскольку вы никогда не знаете, когда начнется операция сжатия, и доступ к базе данных будет заблокирован до тех пор, пока сжатие не завершится.

3 голосов
/ 18 июня 2009

Вы никогда не должны включать автоусадку. Это вызывает снижение производительности несколькими способами. Файловая система и индексы становятся фрагментированными, и это очень ресурсоемко. Это также не требуется, если вы правильно управляете резервными копиями.

Прочтите этот ответ Пола Рэндала о сбое сервера и просто скажите Нет автоматической усадке !!

0 голосов
/ 18 декабря 2008

Я использовал его, когда у нас была демо-версия огромной базы данных, которая занимала много места на ноутбуке, поэтому мы использовали ее для уменьшения размера.

Ключ в том, чтобы использовать его только тогда, когда данные в основном выбрасываются.

Вы должны периодически обрезать журналы как часть вашей стратегии резервного копирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...