среда, 16 мая 2012 г.

Shrinking the Transaction Log - Сжатие журнала транзакций

Буквально месяц назад, выполняя обслуживание в одной из организаций, увидел интересную особенность. Их работающая 1С 8.2 регулярно обслуживаемая аутсорсинговой (!?) компанией и случайными друзьями и знакомыми по заявлению их главного бухгалтера начала заметно “подтормаживать”.

Беглый осмотр ее рабочей станции и сервера выявил удивительные, местами абсурдные вещи. Самые запоминающиеся из которых это - наличие трех различных установленных систем удаленного доступа (кроме и так имеющегося в системе RDP), добавленной учетной записи guest в группу локальных администраторов (она и так работала под локальным админом), неработающий антивирус и как следствие – троян в системе (….на машине 4 различных клиент-банка!).

В конечном итоге причина оказалась в розетке их кабельной сети. Качество ее выполнения не выдерживало никакой критики. Собственно причина – обрыв одной из жил кабеля. Сетевая 1 Gbps карта работала на 100 Mbps.

Но поводом к написанию заметки послужил осмотр их сервера. Размеры журналов транзакций .LDF файлов превышал размеры баз от 5-ти до 25 раз. Странная поддержка 1С специализированной компанией.

К счастью на сервере стоял SQL Server Management Studio и была возможность временно отключить всех пользователей.

Уменьшаем размер журнала транзакций:

  1. Делаем бэкап базы данных.
  2. Делаем бэкап журнала транзакций.
  3. Временно изменяем recovery model = simple
  4. Делаем shrink
  5. Возвращаем базу в предыдущую (или необходимую) recovery model.

На screenshot-ах можно увидеть размеры баз и их журналов до и после выполнения необходимых операций.


размеры-SQL-баз-и-их-журналовразмеры-SQL-баз-и-их-журналов-после-сжатия


См. также:

Комментариев нет:

Отправить комментарий