Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Лог файл БД усекается больше чем target_size  [new]
MotoCV
Member

Откуда: Уфа
Сообщений: 289
Добрый день уважаемые коллеги.
Вопрос в следующем, есть БД у нее есть лог файл, изначально лог файл был размером 1Мб + autogrowth, когда я увидел как часто срабатывает этот autogrowth и как это отражается на СХД, решил изменить:

USE [master]
GO
ALTER DATABASE [reestr] MODIFY FILE ( NAME = N'reestr_log', SIZE = 2097152KB )
GO


Все вроде бы хорошо, но это база 1Совая и после определенных выполняемых обработок размер лог файла становится очень большим. Хорошо, я делаю ночью бэкап лог файла и его усечение:

USE [reestr]
GO
DBCC SHRINKFILE (N'reestr_log', 2048, TRUNCATEONLY)
GO


И вот тут засада, файл усекается больше чем до 2048Мб, причем я не понял зависимости, но файл усекается до разных размеров, но они гораздо меньше чем 2048Мб. Поэтому пользователи с утра начинают запускать обработки свои 1Совые и я опять воочию вижу ненужные autogrowth....
Как мне заставить SQL резать лог файл до определенного размера...
25 сен 14, 14:33    [16621257]     Ответить | Цитировать Сообщить модератору
 Re: Лог файл БД усекается больше чем target_size  [new]
Glory
Member

Откуда:
Сообщений: 104760
Вы хоть хелп то читали прежде, чем команды писать ?

TRUNCATEONLY
Releases all free space at the end of the file to the operating system but does not perform any page movement inside the file. The data file is shrunk only to the last allocated extent.

target_size is ignored if specified with TRUNCATEONLY.

TRUNCATEONLY is applicable only to data files.
25 сен 14, 14:45    [16621353]     Ответить | Цитировать Сообщить модератору
 Re: Лог файл БД усекается больше чем target_size  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
да... 1сники такие 1сники
25 сен 14, 14:46    [16621361]     Ответить | Цитировать Сообщить модератору
 Re: Лог файл БД усекается больше чем target_size  [new]
MotoCV
Member

Откуда: Уфа
Сообщений: 289
Извините, спасибо за быстрый ответ, я на этот хелп три дня смотрю:
Releases all free space at the end of the file to the operating system but does not perform any page movement inside the file. The data file is shrunk only to the last allocated extent.

и понимаю что освобождает место в конце файле не занимаясь перемещением страниц в файле.

TRUNCATEONLY is applicable only to data files.

а вот это я проглядел, спасибо за помощь
25 сен 14, 14:49    [16621390]     Ответить | Цитировать Сообщить модератору
 Re: Лог файл БД усекается больше чем target_size  [new]
MotoCV
Member

Откуда: Уфа
Сообщений: 289
target_size is ignored if specified with TRUNCATEONLY.
25 сен 14, 14:50    [16621396]     Ответить | Цитировать Сообщить модератору
 Re: Лог файл БД усекается больше чем target_size  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
MotoCV
И вот тут засада, файл усекается больше чем до 2048Мб, причем я не понял зависимости, но файл усекается до разных размеров, но они гораздо меньше чем 2048Мб.


Не приходила мысль, что граница 2048Mb находятся где-то внутри одного из VLF? :)

Вы лучше разберитесь почему лог растет. Если база в full recovery - делайте бэкапы лога. Залипшая репликация, cdc и т. п. - почините. "длинные" транзакции - а чего вы его тогда транкейтите? все равно вырастет так еще и пользователи будут ждать на autogrowth пока выполнится zeroing...?
25 сен 14, 15:34    [16621661]     Ответить | Цитировать Сообщить модератору
 Re: Лог файл БД усекается больше чем target_size  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
MotoCV
Все вроде бы хорошо, но это база 1Совая и после определенных выполняемых обработок размер лог файла становится очень большим. Хорошо, я делаю ночью бэкап лог файла и его усечение
А нафига вы его дергаете туда-сюда?
26 сен 14, 04:16    [16623696]     Ответить | Цитировать Сообщить модератору
 Re: Лог файл БД усекается больше чем target_size  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
MotoCV
Все вроде бы хорошо, но это база 1Совая и после определенных выполняемых обработок размер лог файла становится очень большим. Хорошо, я делаю ночью бэкап лог файла и его усечение
Не надо усекать лог. На его приращение потом тратится время.
Смысл в этом усечении если для "определенных обработок" серверу снова понадобится журнал транзакций большего размера?
26 сен 14, 05:18    [16623707]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить