Для компании, которой я помогал устранять неполадки в их базе данных.
В SQL Server 2000 размер базы данных составляет около 120 гигабайт.
Что-то привело к тому, что журнал транзакций увеличился НАМНОГО больше, чем обычно, до более 100 гигабайт, некоторые зависли транзакции, которые не фиксировались или не откатывались в течение нескольких дней. Это было решено, и теперь он остается заполненным примерно на 1% или меньше из-за ежечасного резервного копирования журнала транзакций.
Я понимаю, что рост размера файла журнала транзакций может вызвать проблемы с производительностью.
Но что меня немного беспокоит, так это размер. Хотя в основном пустой, МОЖЕТ ли это отрицательно сказаться на производительности? Но я не нашел никакой документации, подтверждающей, что это правда.
Я нашел эту ссылку: http://www.bigresource.com/MS_SQL-Large-Transaction-Log-dramatically-Slows-down-processing-any-idea-why--2ahzP5wK.html но в этом посте я не могу сказать, был ли их журнал полным или пустым, и в этой ссылке нет ответов на пост.
Думаю, это не проблема, кто-нибудь знает наверняка?
Вы, вероятно, обнаружите, что, поскольку tlog сам по себе вырос до такого большого размера из-за включения автоматического увеличения, у вас будет много файлы виртуального журнала. Это означает, что сам журнал транзакций фрагментирован, и это нехорошо.
Вот немного информации о том, как вы можете проверить, сколько файлов vlog в базе данных.
Вот блог о том, почему многие файлы виртуальных журналов плохи, и что вам нужно с этим делать.
При резервном копировании SQL Server усекает файлы журнала и создает исходный файл журнала. В вашей ситуации кажется, что вам следует значительно уменьшить размер файла журнала. Попробуйте определить, сколько данных записывается в ваш журнал между окнами резервного копирования, а затем может удвоить или утроить этот объем. Установите это как исходный размер файла журнала. Это поможет предотвратить проблемы с производительностью фрагментации.
Увеличение вашего файла журнала с шагом 1 МБ, когда средняя транзакция составляет 2 МБ, будет очень плохо для производительности. Увеличение 400 МБ дважды в день, вероятно, не окажет заметного влияния на производительность.
Я очень рекомендую прочитать это статьи раздел по управлению файлами данных и журналов. Это поможет вам принимать более обоснованные решения по вашей проблеме.