Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Добрый день!

Подскажите, пожалуйста, как лучше поступить.

У нас на работе стоит кластерная версияя MS SQL 2008 пропаченная.
С сегодняшнего дня поручили админить ее, хотя я не являюсь знатоком администрирования этой базы данных.

Сегодня стала разбираться с этим и увидела, что Log файл БД занимает 53 гигабайта. Это повергло меня в ужас и вынудило искать информацию о правильной организации политики бэкапирования БД и ее логфайлов.

Не смотря на то, что вопросов этой теме посвещено множество, но четкого понимания что и как у меня не появилось.

Модель восстановления у меня полная.
Бэкап БД (full) делается 1 раз в день (скриптом через Job).
Бэкап логов в течение дня не ведется.
Лог-файл 53 гига и будет расти...

1. Подскажите, пожалуйста, точный принцип выбора той или иной модели восстановления?
Наша база - база данных электронного документооборота.
2. Что будет если я возьму и изменю модель на simple? Какие могут быть последствия при такой организации бэкапирования?
17 ноя 11, 15:38    [11614604]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Требования к стратегии предъявляет прежде всего бизнес, который хочет, чтобы максимально возможная потеря данных составляла не более N минут/часов/дней.
17 ноя 11, 15:41    [11614645]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Baddy
Member

Откуда: Харьков
Сообщений: 174
Eyere,

Выбор модели восстановления
17 ноя 11, 15:42    [11614648]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Да у нас гос. структура.
У начальника не спросишь - ответ: "Мне все равно, делай как знаешь, главное чтоб работало"
17 ноя 11, 15:42    [11614653]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Да у нас гос. структура.
У начальника не спросишь - ответ: "Мне все равно, делай как знаешь, главное чтоб работало"
17 ноя 11, 15:45    [11614685]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Eyere
Да у нас гос. структура.
У начальника не спросишь - ответ: "Мне все равно, делай как знаешь, главное чтоб работало"
А вы его спросите - если железка завтра сломается, ок, что нам придется перенабирать все данные? Если ок, то бэкап даже и делать не надо.

Сообщение было отредактировано: 17 ноя 11, 15:48
17 ноя 11, 15:46    [11614700]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Eyere,

Для начала посмотрите, сколько места в логе используется (проще всего отчётом "Disk Usage" в SSMS), затем сделайте шринк лога и понаблюдайте, как растёт занимаемое место в течение дня. Если транзакций немного, то бэкапа один раз в день вполне достаточно. Если используемое место растёт быстро, делайте бэкапы чаще.
17 ноя 11, 15:48    [11614727]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Это для полной модели восстановления.
17 ноя 11, 15:49    [11614750]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Да бесполезно, отвечать все равно не он будет, а я...
так что форумчане моя последняя надежда на уяснение того, как в нормальных конторах организуют бэкапирование.
17 ноя 11, 15:50    [11614754]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Jovanny
Eyere,

Для начала посмотрите, сколько места в логе используется (проще всего отчётом "Disk Usage" в SSMS), затем сделайте шринк лога и понаблюдайте, как растёт занимаемое место в течение дня. Если транзакций немного, то бэкапа один раз в день вполне достаточно. Если используемое место растёт быстро, делайте бэкапы чаще.


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

Сегодня он не прирастал еще
17 ноя 11, 15:58    [11614859]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Igor Glushaev
Member

Откуда:
Сообщений: 176
Eyere,

Ну так тебе уже ответили: частота бекапа лога равна максимально допустимым потерям информации (примерно). То есть если не критично потерять инфу за 15 минут - делаете с частотой 15 минут, если не критично за неделю - так делаете бекап раз в неделю...
17 ноя 11, 16:01    [11614881]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Igor Glushaev
Eyere,

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


А этот большой лог просто обрезать шринком? Ничего с базой-то не произойдет?
17 ноя 11, 16:14    [11615020]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Baddy
Eyere,

Выбор модели восстановления


Спасибо!
Из данной статьи я поняла, что выбор полной модели оправдан. У нас БД системы электронного документооборота, данные в нее вносятся ежедневно с 9 утра и до 8-ми вечера...

Но как я поняла эта модель и является основной причиной того, что log переполненяется так быстро.

Поэтому нужно как-то обрезать его. У кого есть опыт реализации подобной задачи, поделитесь им пожалуйста.
17 ноя 11, 16:24    [11615130]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Eyere
Поэтому нужно как-то обрезать его.

Лог нужно архивировать
17 ноя 11, 16:26    [11615153]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Glory
Eyere
Поэтому нужно как-то обрезать его.

Лог нужно архивировать


Хорошо, тогда объясните мне еще принцип архивации и принцип работы шринка, пожалуйста.
Что происходит с файлом в том и другом случае?
17 ноя 11, 16:31    [11615219]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Eyere,

Сначала заархивируйте лог командой BACKUP LOG, а потом сделайте шринк командой DBCC SHRINKFILE.
17 ноя 11, 16:32    [11615236]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Eyere
Хорошо, тогда объясните мне еще принцип архивации и принцип работы шринка, пожалуйста.

1ый принцип
Понять, что архивирование и шринк - это разные вещи

2ой принцип
Выбрать модель восстановления базы
Если вам не нужны зафиксированные транзакции, то зачем их вам полная модель ?

3ий принцип
Если транзакции нужны, то настроить архивирование базы и лога по расписанию

4ий принцип
Не делать без необходимости никаких шринков
17 ноя 11, 16:36    [11615293]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
В лог пишутся данные о транзакциях в вашей базе и они занимают там место (Used).
Когда вы делаете BACKUP LOG, то это место очищается, становится неиспользуемым (Unused), но размер лога остаётся прежним.
Когда Вы делаете DBCC SHRINKFILE, то это неиспользуемое место отдаётся файловой системе и размер файла лога становится меньше.

Есть ещё некоторые нюансы, но основной принцип такой.
17 ноя 11, 16:44    [11615392]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Eyere
Member

Откуда:
Сообщений: 47
Jovanny
В лог пишутся данные о транзакциях в вашей базе и они занимают там место (Used).
Когда вы делаете BACKUP LOG, то это место очищается, становится неиспользуемым (Unused), но размер лога остаётся прежним.
Когда Вы делаете DBCC SHRINKFILE, то это неиспользуемое место отдаётся файловой системе и размер файла лога становится меньше.

Есть ещё некоторые нюансы, но основной принцип такой.


BACKUP DATABASE my_db TO DISK = 'C:\Backups\BackupFile1.bak';
go

BACKUP LOG my_db TO DISK = 'C:\Backups\123.bak';

Подойдет или же лучше BACKUP LOG с какими-то параметрами использовать?
17 ноя 11, 16:56    [11615492]     Ответить | Цитировать Сообщить модератору
 Re: Политика создания Backup log-файлов sql 2008  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Eyere
BACKUP DATABASE my_db TO DISK = 'C:\Backups\BackupFile1.bak';
go

BACKUP LOG my_db TO DISK = 'C:\Backups\123.bak';

Подойдет или же лучше BACKUP LOG с какими-то параметрами использовать?


Вполне. Только все бэкапы будут писаться в один файл и со временем опять возникнут проблемы с местом на диске. Почитайте про параметр NOINIT.
И логи принято архивировать в файлы с расширением trn.
17 ноя 11, 17:07    [11615585]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить