Начальный размер файла журнала SQL 2005

У меня вопрос относительно размера файла журнала SQL и того, что он должен быть установлен после резервного копирования файла журнала. Я знаю, что это зависит от множества факторов, и что нет правильного или неправильного количества (условно говоря, поскольку я бы не начал журнал с 1 МБ, как по умолчанию), но сколько VLF должно быть в log, если мы выполнили около 200 МБ транзакций (или наш файл .mdf увеличился на это количество), и насколько велики были бы эти VLF или какой размер был бы файл журнала? Я читал блоги Кимберли Трипп и Пола Рэндала, но в лучшем случае все еще туманно.


person ctmcklowe96    schedule 04.03.2014    source источник
comment
Насколько он был большим до резервного копирования?   -  person paparazzo    schedule 05.03.2014
comment
Я должен был предварить это, сказав, что начальный размер нашего журнала составляет 20 г, но усечение выполняется программой резервного копирования (Veeam). Я не знаю, следует ли нам делать этот тип усечения, поскольку он может или не может правильно работать с VLF. Возможно, пользователь Veeam и SQL Server (предпочтительно 2005 г.) сможет ответить на этот вопрос.   -  person ctmcklowe96    schedule 05.03.2014


Ответы (2)


Как вы говорите, это очень простой ответ. Я могу немного упростить ситуацию, но обычно я представляю процесс так:

Перед тем, как «материал» будет записан в файлы данных, каждая транзакция сначала записывается в журнал. Журнал никогда не очищается. Когда файл журнала «переворачивается», указатель записи перемещается обратно в верхнюю часть файла и снова продолжает запись поверх старого.

  • Таким образом, размер журнала должен быть не меньше самого большого размера журнала транзакций.

  • Следующее соображение - это количество одновременно работающих пользователей. Когда у вас есть 10 пользователей, выполняющих самую крупную транзакцию одновременно, вы поняли.

  • Еще одно соображение - интенсивность использования. Сколько данных накапливается до того, как произойдет контрольная точка. Это когда данные журнала записываются в файлы mdf пакетным способом.

  • И последнее, что нужно учитывать, - это ваш режим восстановления. В режиме полного восстановления часть файла журнала, которая еще не была «защищена» резервной копией журнала транзакций, не может быть пролонгирована и будет продолжать увеличиваться до тех пор, пока не будет создана резервная копия журнала транзакций.

Вам нужен только один физический файл журнала для каждой базы данных. Сервер Sql может записывать только один файл за раз.

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

И когда вы автоматически выращиваете, убедитесь, что он растет приличными порциями. Также помните, что сначала необходимо обнулить каждый vlf. Перед использованием файл должен быть полностью заполнен нулями. Если вы укажете очень большие фрагменты (скажем, 1 ГБ или около того), каждый запрос в этой базе данных будет помещен в очередь до тех пор, пока не будет завершен процесс обнуления.

Когда я не имею представления о потребностях в журналах, я лично начинаю с размера 500 МБ с автоматическим увеличением кусков на 100 МБ. И с этого момента я слежу за событиями автоматического роста и при необходимости корректирую.

person souplex    schedule 05.03.2014
comment
Есть ли какие-нибудь «передовые методы», когда дело касается файла журнала? Есть ли у Msft какие-либо рекомендуемые значения? Я спрашиваю здесь только потому, что книги, которые я прочитал, и сайт Msft не всегда предоставляют лучшее для такого рода расплывчатых проблем, типа предположений. - person ctmcklowe96; 05.03.2014

История обычно является вашим лучшим предсказателем будущего размера.
Если размер журнала обычно достигает 20 ГБ между резервными копиями, вы можете ожидать, что он достигнет 20 ГБ между резервными копиями.

Если ваш размер составляет 20 ГБ, то вряд ли ему придется расти.

Если журнал должен вырасти в 20 или даже в 100 раз, то это не такая уж большая проблема.
Если журнал должен вырасти в 1000 раз, вы наверняка должны были указать его неверный размер.
Журнал размером 1 МБ, который только растет на 1 МБ за раз и достигает 1000 МБ - это плохо.
100 МБ, увеличивающиеся на 100%, должны вырасти всего в 4 раза, чтобы достичь 1600 МБ.
Также существует максимальный размер.
Модель восстановления оказывает огромное влияние на размер журнала.
Необходимо учитывать гораздо больше, чем исходный размер.

Также посмотрите на размещение журнала на отдельном диске для распространения ввода-вывода.

Посмотрите, как поместить временную память на отдельный диск для распространения ввода-вывода.

person paparazzo    schedule 05.03.2014