Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

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

Нужно один раз в месяц выполнить резервную копию с выполнением всех служебных операций, которые есть в плане обслуживания и еще дополнительные операции по обрезке базы.
Но так, чтобы не нарушилась цепочка восстановления.
Чтобы в случае чего можно было восстановить базу в состояние до обрезки.

Сейчас пока сделал такой порядок задач:
1) дифференциальная копия базы - 1:00
2) проверка целостности - 2:00
3) оптимизация - 3:00
4) полная копия - 4:00
5) обрезка базы (shrink) - 5:00
6) обрезка лога транзакций (truncate transaction_only) - 5:30.
-----
7) И далее до следующего раза выполняются раз в день резервные копии лога транзакций, раз в неделю дифференциальные копии.

Правильный такой порядок?
Посоветуйте пожалуйста как сделать лучше?
9 ноя 14, 21:12    [16819357]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
es3000
...
6) обрезка лога транзакций (truncate transaction_only) - 5:30.
...


Это -
backup log ... with truncate_only  
?

Если да, то последующие бекапы лога безсмысленны
9 ноя 14, 23:10    [16819872]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
Spartakich
es3000
...
6) обрезка лога транзакций (truncate transaction_only) - 5:30.
...


Это -
backup log ... with truncate_only  
?

Если да, то последующие бекапы лога безсмысленны


Да, именно это: backup log ... with truncate_only.

А почему бессмысленны?
В последнем пункте у меня имеется ввиду, что последующие бекапы лога не являются частью этого плана, они будут выполняться до следующего выполнения этого плана в течение месяца.

Куда тогда надо переместить этот пункт, чтобы при обслуживании базы был обрезан лог транзакций, и дальнейшие бэкапы работали правильно?
10 ноя 14, 09:43    [16820694]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
aleks2
Guest
es3000
А почему бессмысленны?


1. А потому, что сказано: шоб восстановить бякапы журнала нужна НЕПРЕРЫВНАЯ цепочка бякапов журнала от ПОЛНОГО бэкапа.

backup log ... with truncate_only

рвет непрерывность цепочки. И фсе ваши бякапы журнала становятся бесполезными.

2. В вашей схеме backup log ... with truncate_only просто не нужен.
10 ноя 14, 09:55    [16820725]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
aleks2
Guest
Впрочем,
5) обрезка базы (shrink) - 5:00
тоже лишнее. Пользы ноль. А вред ё.
10 ноя 14, 10:04    [16820756]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
человек_ниоткуда
Guest
Цепочку восстановления логов транзакций можно нарушить изменив модель восстановления БД на SIMPLE; или потеряв файл с бекапом лога; или из за ошибки при восстановлении с файла лога. Естественно нужен и full/full+diff бекап для того чтоб восстновить цепочку log. Если в пункте 3 у вас ничего такого не делается, то можете спать спокойно.


1, 4, 7: требование ко времени восстановления БД какое? Полные и дифференциальные бекапы должны сниматься так, чтоб восстановить БД можно было за отведённое на это время.
2: никогда такого не делал. Интересно, а у вас какие причины это делать?
5: вредно.
10 ноя 14, 12:10    [16821541]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
aleks2
1. А потому, что сказано: шоб восстановить бякапы журнала нужна НЕПРЕРЫВНАЯ цепочка бякапов журнала от ПОЛНОГО бэкапа.

backup log ... with truncate_only

рвет непрерывность цепочки. И фсе ваши бякапы журнала становятся бесполезными.


почему рвет цепочку?
вроде бы эта команда просто удаляет ту часть лога транзакций, которая стала ненужной.

а куда ее нужно вставить, чтобы цепочка не рвалась?

aleks2
2. В вашей схеме backup log ... with truncate_only просто не нужен.

а почему не нужен?
без этой команды лог транзакций будет расти до бесконечности
11 ноя 14, 06:20    [16825901]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
aleks2
Впрочем,
5) обрезка базы (shrink) - 5:00
тоже лишнее. Пользы ноль. А вред ё.


а почему лишнее?
и какой от нее вред?
11 ноя 14, 06:21    [16825902]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
человек_ниоткуда
Цепочку восстановления логов транзакций можно нарушить изменив модель восстановления БД на SIMPLE; или потеряв файл с бекапом лога; или из за ошибки при восстановлении с файла лога. Естественно нужен и full/full+diff бекап для того чтоб восстновить цепочку log. Если в пункте 3 у вас ничего такого не делается, то можете спать спокойно.


Пункт 3 - это стандартная закладка "optimization" Database Maintenance Plan.
В ней включены галочки:
"reorganize data and index pages"
- change free space per page percentage to 20%
"remove unused space from database files"
- shrink database when it grows beyond 50 Мб
- amount of free space to remain after shrink 20%

Вообще пункты (2),(3),(4) - это соответствующие пункты Database Maintenance Plan: "Integrity", "Optimization", "Complete Backup".
А пункты (1),(5),(6) - это я добавлял отдельными Job-ами, но так чтобы по времени все стыковалось.

человек_ниоткуда
1, 4, 7: требование ко времени восстановления БД какое? Полные и дифференциальные бекапы должны сниматься так, чтоб восстановить БД можно было за отведённое на это время.


база небольшая, так что по времени никаких особых требований нет

человек_ниоткуда
2: никогда такого не делал. Интересно, а у вас какие причины это делать?


ну есть такой пункт "Integrity" в Database Maintenance Plan, вот я его и включил в расписание,
не помешает

человек_ниоткуда
5: вредно.

уже несколько раз сказали, что это вредно,
разъясните, пожалуйста почему вредно?
11 ноя 14, 06:40    [16825916]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
И еще вопрос...

Только что отработал весь этот план.
Файл лога транзакций стал по размеру больше файла базы.
У меня такое подозрение что это после пункта "optimization", так как там есть rebuild индексов.

А пункт (6) - backup log ... with truncate_only - почему-то лог не обрезал.
То есть размер файла лога транзакций не изменился.
Почему? Может быть Shrink надо после пункта (6) вставить?
11 ноя 14, 06:45    [16825923]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
Glory
Member

Откуда:
Сообщений: 104751
es3000
У меня такое подозрение что это после пункта "optimization", так как там есть rebuild индексов.

Разумеется, что все изменения данных пишутся в журнал. Он же для этого и создан.

es3000
А пункт (6) - backup log ... with truncate_only - почему-то лог не обрезал.

Вы путаете усечение и сжатие
truncate - это усечение, оно ничего не делает с размером файла

es3000
Почему? Может быть Shrink надо после пункта (6) вставить?

Для того, чтобы следующая команда опять сделал расширение журнала ? Не говоря уже про следующий план.
Так и будете сжимать/раширять файл ?
11 ноя 14, 09:17    [16826118]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
aleks2
Guest
es3000
aleks2
1. А потому, что сказано: шоб восстановить бякапы журнала нужна НЕПРЕРЫВНАЯ цепочка бякапов журнала от ПОЛНОГО бэкапа.

backup log ... with truncate_only

рвет непрерывность цепочки. И фсе ваши бякапы журнала становятся бесполезными.


почему рвет цепочку?
1) вроде бы эта команда просто удаляет ту часть лога транзакций, которая стала ненужной.

а куда ее нужно вставить, чтобы цепочка не рвалась?

aleks2
2. В вашей схеме backup log ... with truncate_only просто не нужен.

а почему не нужен?
2) без этой команды лог транзакций будет расти до бесконечности


1) Опять фантазируем? Суть этой команды: сделать бэкап лога и тут же УДАЛИТЬ файл бэкапа лога.

2) Фантазии. Каждый backup log ... освобождает место в журнале.
11 ноя 14, 09:37    [16826184]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
aleks2
Guest
es3000
aleks2
Впрочем,
5) обрезка базы (shrink) - 5:00
тоже лишнее. Пользы ноль. А вред ё.


а почему лишнее?
и какой от нее вред?


Отсутствие пользы и наличие затрат на выполнение - это уже вред.
11 ноя 14, 09:39    [16826196]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
alexeyvg
Member

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

Нужно один раз в месяц выполнить резервную копию с выполнением всех служебных операций, которые есть в плане обслуживания и еще дополнительные операции по обрезке базы.
Но так, чтобы не нарушилась цепочка восстановления.
Чтобы в случае чего можно было восстановить базу в состояние до обрезки.

Сейчас пока сделал такой порядок задач:
1) дифференциальная копия базы - 1:00
2) проверка целостности - 2:00
3) оптимизация - 3:00
4) полная копия - 4:00
5) обрезка базы (shrink) - 5:00
6) обрезка лога транзакций (truncate transaction_only) - 5:30.
-----
7) И далее до следующего раза выполняются раз в день резервные копии лога транзакций, раз в неделю дифференциальные копии.

Правильный такой порядок?
Посоветуйте пожалуйста как сделать лучше?
Ваш план какой то весь... не очень...

Исходите не из команд, которые вы знаете, а из потребностей бизнеса.

Что это за потребность бизнеса - обрезка???

Ваша цель, очевидно - обеспечить возможность восстановления на любой момент времени, проводить обслуживание для оптимизации.

Для этого нужен следующий план:

1. Бакап лога.

1) Бакап лога
2) проверка целостности
3) оптимизация
4) Бакап лога
5) полная копия
6) И далее до следующего раза выполняются раз в день резервные копии лога транзакций, раз в неделю дифференциальные копии.

Если разрастание лога транзакций при обслуживании совсем неприемлимо, можно такой план:
1) Бакап лога
2) Перевод базы в режим Simple
3) проверка целостности
4) оптимизация
5) Перевод базы в режим Full
6) полная копия
7) И далее до следующего раза выполняются раз в день резервные копии лога транзакций, раз в неделю дифференциальные копии.

В первом варианте размер лога будет большой, во втором меньше.

Так же нужно подумать о более частом бакапе лога, а то, в случае чего, восстановить можно будет только с точностью до суток.
11 ноя 14, 10:58    [16826676]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
alexeyvg

а где в вашем плане обрезка файлов базы данных?
11 ноя 14, 18:51    [16830625]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
aleks2
es3000
пропущено...
а почему лишнее?
и какой от нее вред?

Отсутствие пользы и наличие затрат на выполнение - это уже вред.


так ведь без команды shrink постоянно будут расти файлы базы данных.
их же нужно периодически обрезать
11 ноя 14, 18:53    [16830644]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
а full backup освобождает журнал транзакций?
11 ноя 14, 18:57    [16830666]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
es3000
так ведь без команды shrink постоянно будут расти файлы базы данных.
их же нужно периодически обрезать
Может уже логику включите? Если вы можете сжать файл командой shrink, значит он не занят данными. Если файл не занят, то какого с чего бы он будет расти?
11 ноя 14, 18:59    [16830672]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
Гавриленко Сергей Алексеевич
es3000
так ведь без команды shrink постоянно будут расти файлы базы данных.
их же нужно периодически обрезать
Может уже логику включите? Если вы можете сжать файл командой shrink, значит он не занят данными. Если файл не занят, то какого с чего бы он будет расти?


Ну я понимаю это так.

Файл станет не занятым данными после backup-а,
а до выполнения backup_а в процессе работы с базой файлы постепенно заполняются данными.
И в зависимости от выполняемых операций в промежутке между backup-ами, если много объемных транзакций, то файл транзакций будет расти. Пример такой операции - переиндексация, после которой файл лога транзакций становится по объему примерно таким же как и размер базы.
После очередного бэкап-а нужно выполнить shrink, чтобы освободившееся место обрезать и тем самым уменьшить размер файла транзакций.

В чем я ошибаюсь?
11 ноя 14, 19:10    [16830744]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
es3000
В чем я ошибаюсь?
В "после очередного бэкап-а нужно выполнить shrink".

Сообщение было отредактировано: 11 ноя 14, 19:13
11 ноя 14, 19:12    [16830752]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
Гавриленко Сергей Алексеевич
es3000
В чем я ошибаюсь?
В "после очередного бэкап-а нужно выполнить shrink".


а каким образом будет выполняться сжатие файлов базы данных, то есть физическое удаление из них освободившегося после бэкапа пространства?
11 ноя 14, 19:27    [16830834]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
Glory
es3000
Почему? Может быть Shrink надо после пункта (6) вставить?

Для того, чтобы следующая команда опять сделал расширение журнала ? Не говоря уже про следующий план.
Так и будете сжимать/раширять файл ?


у меня после 6-го пункта нет никаких команд,
никакого расширения файла не должно быть.
11 ноя 14, 19:42    [16830924]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
es3000
Member

Откуда:
Сообщений: 346
в общем мы запутались...
давайте сначала.

Посоветуйте пожалуйста план наиболее оптимальный с вашей точки зрения, чтобы раз в месяц были выполнены необходимые операции по обслуживанию базы: проверка целостности, переиндексация, оптимизация.

И чтобы этот план корректно работал с другим планом, который:
- ежемесячно делает полную копию
- еженедельно делает дифференциальную копию
- и каждый день несколько раз в день делает бэкап лога транзакций.
11 ноя 14, 19:45    [16830932]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
es3000
alexeyvg

а где в вашем плане обрезка файлов базы данных?
Нету.

es3000
aleks2
пропущено...

Отсутствие пользы и наличие затрат на выполнение - это уже вред.


так ведь без команды shrink постоянно будут расти файлы базы данных.
их же нужно периодически обрезать
Вы диск "обрезаете" на своём компе, что бы он "не рос", или всё таки достаточно просто удалять лишнее?

Файл БД - это как диск на компьютере. Если вы удаляете данные, либо делаете бакап лога, либо у вас база в модели Simple, то файлы не будут расти.

А вот если постоянно их шринкать, то это будет
1) дополнительная нагрузка на сервер
2) фрагментация данных

И, отмечу ещё раз, хором, вместе со всеми - совершенно бесполезная.
11 ноя 14, 20:02    [16831002]     Ответить | Цитировать Сообщить модератору
 Re: Порядок задач в плане резервного копирования (MS SQL 2000)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
es3000
у меня после 6-го пункта нет никаких команд,
никакого расширения файла не должно быть.
Расширение файла делается автоматически, сервером, когда места в файле нет, а нужно туда записать данные.
11 ноя 14, 20:03    [16831007]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить