Назад | Перейти на главную страницу

Обоснование смены авторастения?

У меня есть производственная БД MS SQL Server 2005, для которой я недавно стал «непреднамеренным администратором БД» ... пока ковырялся в настройках БД, я обнаружил, что она имеет настройки AutoGrow по умолчанию 1 МБ. Я читал (и вообще считаю), что это неподходящий параметр - размер БД составляет 14 ГБ. Я готов (и вероятно) изменить его, но у меня вопрос ... Если никто не заметил этого за все годы, когда мы его использовали (особенно пользователи), почему я должен его менять сейчас? Другими словами, я думаю, что на базовом уровне понимаю, почему 1 МБ слишком мал - он, вероятно, часто автоматически растет, возможно, ежедневно или несколько раз в день - но я думаю: «Если он не сломался, не исправляйте Это".

Какие конкретные оправдания есть для увеличения автоматического роста? Блокирует ли он пользователей при автоматическом росте? Переиндексируется? Делает ли БД что-нибудь, кроме простого увеличения дискового пространства для БД?

Вот отличная статья в MS KB по этой теме, в которой рассматриваются все потенциальные проблемы с производительностью: Соображения относительно параметров автоматического увеличения и автоматического сжатия в SQL Server

Однако я никогда не видел, чтобы значение по умолчанию было 1 МБ. Я считаю, что значение по умолчанию на самом деле составляет 10%. [Отредактировано за комментарий GregD]

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

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

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

Как ваше выступление сейчас?

Автоматический рост может повлиять на ваших пользователей. Частый автоматический рост часто может повлиять на ваших пользователей.

Насколько велики ваши текущие журналы транзакций?

В зависимости от размера журналов транзакций установка размера автоматического увеличения в процентах вместо фиксированного роста может повлиять на ваших пользователей.

Автоматический рост не заменяет правильного планирования мощностей.

Я слышал, что когда вы автоматически увеличиваете небольшие порции (1 Мб), база данных становится фрагментированной, что отрицательно сказывается на производительности.