MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Аватара пользователя
DoublE_zone

MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение DoublE_zone »

Доброго времени суток! Последнее время, на некоторых корпоративных базах, на моем SQL Server 2000 сильно разрослись файлы транзакции логов. Вот и надумал их урезать: Свойства базы - Транзакции логов - Максимальный размер файла. Поставить там ограничение гектар на 10 (при условии, что сам файл данных весит 2,7 GB). Вообще, сейчас работает связка 1С8.0 - SQL Server 2000.

Вопрос следующий... Поскольку, я урезаю файл транзакции логов впервые, подкажите, нет ли там каких подводных камней или нюансов, которые необходимо знать. Сейчас размер файла транзакции логов (в одной из баз) равен 50 ГБ, порежу до 10 ГБ. Как долго будет идти процесс обрезания? Потребуется ли ребут SQL? Удалятся наиболее старые логи или не факт?

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

P.S. Умную книгу почитал, но такие нюансы освещены плохо. Изображение

Спасибо. Жду авторитетных мнений.
Аватара пользователя
DoublE_zone

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение DoublE_zone »

DoublE_zone,

1) Перед операцией застопте 1С, и вообще изгоните всех пользователей.

2) Сделайте Дамп базы - если что, вы поднимитесь с нее на любом сервере.

3) Пропорции Лог/Данные зависят от того какая у вас нагрузка.

Транзакционная (OLTP) или хранилища данных (в основном идут массовые чтения).

В 7.7 рекомендовалось соотношение один к двум.

Плохо видно, за сколько лог файл вырос до 50 Гиг, но думаю рос он достаточно долго.

Думаю вы можете ограничить Лог файл 2-мя Гигабайтами, правда еще вопрос какую политику архивации вы используете.

Т.е. размера лог-файла должно хватать на операции между двумя полными архивированиями.

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





Т.к. вы используете 32х битную систему, я бы рекомендовал выделять файлы данных под данные и логи размером в 2GB.

Файлы лучше выделять вручную, т.е. откулючить авторасширение.
Аватара пользователя
Busla

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение Busla »

kim-aa, спасибо. Как созрею - обязательно попробую.
Аватара пользователя
Busla

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение Busla »

Эту цитату необходимо пояснить:

администратор БД - вполне конкретная отдельная должность

небольшие прикладные системы - это десятки и даже сотни компьютеров

этап внедрения - в контексте 1С обычно никогда не прекращается
Аватара пользователя
kim-aa

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение kim-aa »

DoublE_zone,

1) Перед операцией застопте 1С, и вообще изгоните всех пользователей.

2) Сделайте Дамп базы - если что, вы поднимитесь с нее на любом сервере.

3) Пропорции Лог/Данные зависят от того какая у вас нагрузка.

Транзакционная (OLTP) или хранилища данных (в основном идут массовые чтения).

В 7.7 рекомендовалось соотношение один к двум.

Плохо видно, за сколько лог файл вырос до 50 Гиг, но думаю рос он достаточно долго.

Думаю вы можете ограничить Лог файл 2-мя Гигабайтами, правда еще вопрос какую политику архивации вы используете.

Т.е. размера лог-файла должно хватать на операции между двумя полными архивированиями.

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





Т.к. вы используете 32х битную систему, я бы рекомендовал выделять файлы данных под данные и логи размером в 2GB.

Файлы лучше выделять вручную, т.е. откулючить авторасширение.
Аватара пользователя
DoublE_zone

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение DoublE_zone »

kim-aa, спасибо. Как созрею - обязательно попробую.
Аватара пользователя
DoublE_zone

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение DoublE_zone »

kim-aa, а какое действо наступает после выставления (урезания, сейчас 50Г - текущее, сделаю 10Г - max) файла транзакций логов и нажатия кнопки ОК? Файл сразу обрубится и освободит место на винтах или это длительный процесс? Нужно ли перезапускать SQL?
Аватара пользователя
kim-aa

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение kim-aa »

DoublE_zone,

По моему, сразу. Я ,честно говоря давно с MS SQL не работал, лет так восемь, и работал всегда с англоязычным окружением. По моему там это звучало как "Trunckate log"



Операция выполняется немедленно. Просто отбрасываются старые операции.



Что касаемо места на дисках, я убей бог не вспомню сейчас модель выделения места MS SQL в 2000.



В MS SQL 6.x серии были устройства данных, это собственно сами файлы хранения или неформатированные сегменты диска. Сегменты данных и сегменты логов, размещались в устройствах данных.

После обрезания сегмента логов, высвобождалось место в устройстве данных, но само файл устройства данных оставался прежним по размеру и изменить размер было возможно, но не всегда удобно

(Expand, Shrink)

Именно по этому есть рекомендации выдавать не одним файловым устройством, а кучей мелких по

2 GB (собственно так поступает Exchange, который суть изуродованный MS SQL)



В 2000 вроде бы модель хранения лог-файлов изменили, однако раз они сжимались в старой модели, то должны сжиматься и вновой.



По прежнему напоминаю, для избежания экцессов отключите все приложения от MS SQL перед операцией. Для надежности можете либо положить сетевой стек, либо просто выдернуть кабель из сервера (если вы работаете непосредственно на сервере)
Аватара пользователя
DoublE_zone

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение DoublE_zone »

kim-aa, было решено на ближайших регламентных работах перейти на всех базах на модель Simple. Сам SQL, когда его затачивал "профи" 1С (из конторы 1С, еще до меня), был сконфигурирован просто никак. Сейчас все эти проблемы и посыпались, при увелечении нагрузки. Полные бэкапы (без логов, только сами базы) сливаются каждую ночь.

Вопрос в следующем... Как отреагирует (и отреагирует ли вообще) 1С 8.0, который прикручен к моему SQL2000, на то, что я переведу модель Full на Simple (естественно, всех из 1С выгоню). Возможно, просто восстановлю базу из свежего Backup-а с тем же именем (предварительно снеся полностью старую) уже с пустым файлом логов.

По книжкам, в теории, все просто и быстро, но что-то я ожидаю подводных камней.... Изображение Поможите дельным советом.
Аватара пользователя
kim-aa

Re: MSFT SQL Server - [решено] Обрезаем файл транзакций логов...

Сообщение kim-aa »

DoublE_zone,

Не ведаю я, о отрок,

терминологии MS-современной.

В чем Full от Simple разнятся?

Или это, суть 1С словеса диавольские?



----------------------------------------------------

Или ты про архивирование глаголешь?

Коли эти уроды, кои Мастера MS SQL создавали,

Богомерзким словом Full - полную выгрузку базы нарекают,

а Simple это инкрементное резирвирование суть есть?
Ответить

Вернуться в «Программирование и базы данных»