powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS SQL 2012 план бэкапа
25 сообщений из 29, страница 1 из 2
MS SQL 2012 план бэкапа
    #39766155
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!

Имеется сервер 2012 с кучей баз, которые то добавляются, то выводятся из боевого режима. Выполняется всё через Агента.

План, который достался мне по наследству:
Шаг 1
Код: sql
1.
BACKUP DATABASE [BASE1] TO [BASE1_Monday] WITH INIT, NOFORMAT, SKIP, NOUNLOAD, COMPRESSION 



Шаг 2
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
BACKUP LOG [BASE1] TO [BASE1_Monday]  WITH COMPRESSION

GO
USE [BASE1];  
GO  
-- Truncate the log by changing the database recovery model to SIMPLE.  
ALTER DATABASE [BASE1]  
SET RECOVERY SIMPLE;  
GO  
-- Shrink the truncated log file to 1 MB.  
DBCC SHRINKFILE ([BASE1_Log], 1);  
GO  
-- Reset the database recovery model.  
ALTER DATABASE [BASE1]  
SET RECOVERY FULL;  
GO



Шаг 3
Код: sql
1.
XCOPY B:\Backups\BASE1_Monday.bak \\server\Backups\BASE1\*.* /Y 



Всё это не позволяет откатывать базы по журналу и занимает кучу места. Некоторым базам лог нужно обрезать каждый день, переполняется.
Получается простыня 100+ шагов в которой постоянно запутываешься.


Для небольших баз сделал схему с ручным удалением старых бэкапов
Два раза в неделю:
Шаг 1
Код: sql
1.
BACKUP DATABASE [BASE2] TO [BASE2_Wednesday] WITH INIT, NOFORMAT, SKIP, NOUNLOAD, COMPRESSION



Шаг 2
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
BACKUP LOG [BASE2] TO [BASE2_Wednesday]  WITH COMPRESSION
GO
USE [BASE2];  
GO  
-- Truncate the log by changing the database recovery model to SIMPLE.  
ALTER DATABASE [BASE2]  
SET RECOVERY SIMPLE;  
GO  
-- Shrink the truncated log file to 1 MB.  
DBCC SHRINKFILE ([BASE2_Log], 1);  
GO  
-- Reset the database recovery model.  
ALTER DATABASE [BASE2]  
SET RECOVERY FULL;  
GO



Шаг 3
Код: sql
1.
COPY B:\Backups\BASE2_Wednesday.bak \\server\Backups\server2\BASE2\%date:~6,4%.%date:~3,2%.%date:~0,2%_BASE2_Wednesday.bak /Y



В другие дни:
Шаг 1
Код: sql
1.
2.
BACKUP DATABASE [BASE2] TO  [BASE2_Monday] WITH  DIFFERENTIAL , NOFORMAT, INIT,  SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO



Шаг 2
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
BACKUP LOG [BASE2] TO  [BASE2_Monday]  WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
USE [BASE2];  
GO  
-- Truncate the log by changing the database recovery model to SIMPLE.  
ALTER DATABASE [BASE2]  
SET RECOVERY SIMPLE;  
GO  
-- Shrink the truncated log file to 1 MB.  
DBCC SHRINKFILE ([BASE2_Log], 1);  
GO  
-- Reset the database recovery model.  
ALTER DATABASE [BASE2]  
SET RECOVERY FULL;  
GO



Шаг 3
Код: sql
1.
COPY B:\Backups\BASE2_Monday.bak \\server\Backups\server2\BASE2\%date:~6,4%.%date:~3,2%.%date:~0,2%_BASE2_Monday.bak /Y




Как это можно всё оптимизировать и сократить шаги?
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766158
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переведите базы в simple и не страдайте фигней.
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766159
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич,

Часто нужен откат по времени
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766160
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatwoofГавриленко Сергей Алексеевич,

Часто нужен откат по времениТогда зачем вы ломаете цепочки бэкапов через перевод в simple? (Я уже молчу, что простого выполнения SET RECOVERY FULL для включения полной модели не достаточно -- нужен еще и полный бэкап).
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766162
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Catwoof,

Некоторым базам лог нужно обрезать каждый день, переполняется.


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

при этом у вас "шикарная технология" переключения которая с случае поломки бд, не даст вам восстановить данные которые были записаны после последнего бекапа лога. с таким порядком операторов вы собственно говоря сидите на "симпл" модели восстановления.
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766168
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Catwoof Как это можно всё оптимизировать и сократить шаги? https://ola.hallengren.com/
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766191
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей АлексеевичCatwoofГавриленко Сергей Алексеевич,

Часто нужен откат по времениТогда зачем вы ломаете цепочки бэкапов через перевод в simple? (Я уже молчу, что простого выполнения SET RECOVERY FULL для включения полной модели не достаточно -- нужен еще и полный бэкап).
Эта схема - наследство (работает уже 5 лет). Я только начал изучать SQL, опыта в составлении планов обслуживания нет и взять неоткуда.

felix_ff,
Раз в неделю делать FULL и каждый день лог?

Код: sql
1.
2.
BACKUP LOG [Base1] TO  [Base1] WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766192
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatwoofКак это можно всё оптимизировать и сократить шаги?Шринк и перевод в SIMPLE, и обатно в FULL не нужен.

1. Базы, для которых нужен откат по времени, переводите в FULL
2. Базы, для которых не нужен откат по времени, переводите в SIMPLE
3. Базы, для которых нужен откат по времени, включаете в джоб бакапа лога (скажем, раз в 30 минут).
4. Все базы включаете в джоб полного бакапа (скажем, раз в сутки).

CatwoofЧасто нужен откат по времениА вы пробовали восстановить?
У вас старый и новый скрипт допускает восстановление на момент времени, если всё нормально, если ничего не сломалось.
А если сломалось?
Это не очень хорошая концепция резервного копирования.
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766193
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatwoofГавриленко Сергей АлексеевичТогда зачем вы ломаете цепочки бэкапов через перевод в simple? (Я уже молчу, что простого выполнения SET RECOVERY FULL для включения полной модели не достаточно -- нужен еще и полный бэкап).
Эта схема - наследство (работает уже 5 лет).Ну вот, 5 лет не было полноценного бакапа. Почему бы и нет?
Catwooffelix_ff,
Раз в неделю делать FULL и каждый день лог?
Раз в сутки полный бакап, раз в 30 минут бакап лога.
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766201
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CatwoofЧасто нужен откат по времениА вы пробовали восстановить?
У вас старый и новый скрипт допускает восстановление на момент времени, если всё нормально, если ничего не сломалось.
А если сломалось?
Это не очень хорошая концепция резервного копирования.[/quot]
Угу, восстановить возможно только полную копию благодаря технологии шринка лога
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766206
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgCatwoofпропущено...

Эта схема - наследство (работает уже 5 лет).Ну вот, 5 лет не было полноценного бакапа. Почему бы и нет?
Catwooffelix_ff,
Раз в неделю делать FULL и каждый день лог?
Раз в сутки полный бакап, раз в 30 минут бакап лога.
Нужно место занимаемое сократить. Если делать раз в 3 дня FULL, лог каждые 30 минут и дифференциальный раз в день (он вообще тут нужен, если лог имеется)?
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766219
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257Catwoof Как это можно всё оптимизировать и сократить шаги? https://ola.hallengren.com/
Это база данных со скриптами создания планов? Не понимать
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766225
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatwoofНужно место занимаемое сократить. Если делать раз в 3 дня FULL, лог каждые 30 минут и дифференциальный раз в день (он вообще тут нужен, если лог имеется)?Можно, но чем реже делаете FULL, тем больше бакапов лога нужно для восстановления, то есть понадобится больше времени, и уменьшится надёжность (вдруг файл бакапа лога испортиться).

Но вообще для экономии места можно просто стирать старые полные бакапы. Скажем, храните за неделю бакапы за каждый день, а из более старых оставляете только воскресный.

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

Он удобен, если база очень большая, а изменения редкие - тогда можно делать FULL реже, и при этом не трогать всю цепочку бакапов лога при восстановлении.
Но для обычных баз это лишнее.
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766226
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatwoofSERG1257 https://ola.hallengren.com/
Это база данных со скриптами создания планов? Не пониматьЭто удобные процедуры от знаменитого программиста, для скамых разных действий по обслуживанию, в том числе для бакапов.
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766248
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgCatwoofпропущено...

Это база данных со скриптами создания планов? Не пониматьЭто удобные процедуры от знаменитого программиста, для скамых разных действий по обслуживанию, в том числе для бакапов.
Это решает все мои задачи.
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766475
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatwoofПлан, который достался мне по наследству:
Шаг 1
Код: sql
1.
BACKUP DATABASE [BASE1] TO [BASE1_Monday] WITH INIT, NOFORMAT, SKIP, NOUNLOAD, COMPRESSION 



Шаг 2
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
BACKUP LOG [BASE1] TO [BASE1_Monday]  WITH COMPRESSION

GO
USE [BASE1];  
GO  
-- Truncate the log by changing the database recovery model to SIMPLE.  
ALTER DATABASE [BASE1]  
SET RECOVERY SIMPLE;  
GO  
-- Shrink the truncated log file to 1 MB.  
DBCC SHRINKFILE ([BASE1_Log], 1);  
GO  
-- Reset the database recovery model.  
ALTER DATABASE [BASE1]  
SET RECOVERY FULL;  
GO




Как это можно всё оптимизировать и сократить шаги?

Человека, который это написал нельзя назвать компетентным. Но при серьезном сбое крайним станете вы.

Если лог растет, надо разбираться почему, а не делать танцы с бубном.

Код: sql
1.
2.
ALTER DATABASE [BASE1]  
SET RECOVERY SIMPLE;  



Информации полно https://www.youtube.com/results?search_query=mssql+backup
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766721
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_voroninCatwoofПлан, который достался мне по наследству:
Шаг 1
Код: sql
1.
BACKUP DATABASE [BASE1] TO [BASE1_Monday] WITH INIT, NOFORMAT, SKIP, NOUNLOAD, COMPRESSION 



Шаг 2
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
BACKUP LOG [BASE1] TO [BASE1_Monday]  WITH COMPRESSION

GO
USE [BASE1];  
GO  
-- Truncate the log by changing the database recovery model to SIMPLE.  
ALTER DATABASE [BASE1]  
SET RECOVERY SIMPLE;  
GO  
-- Shrink the truncated log file to 1 MB.  
DBCC SHRINKFILE ([BASE1_Log], 1);  
GO  
-- Reset the database recovery model.  
ALTER DATABASE [BASE1]  
SET RECOVERY FULL;  
GO




Как это можно всё оптимизировать и сократить шаги?

Человека, который это написал нельзя назвать компетентным. Но при серьезном сбое крайним станете вы.

Если лог растет, надо разбираться почему, а не делать танцы с бубном.

Код: sql
1.
2.
ALTER DATABASE [BASE1]  
SET RECOVERY SIMPLE;  



Информации полно https://www.youtube.com/results?search_query=mssql
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766723
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatwoofБаза 1эССная и не маленькая, это первый способ что можно найти. А если бы первый способ был "переустановте windows"?
CatwoofТеперь главный вопрос, как ужимать лог? Главнее вопрос "зачем ужимать лог".
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766726
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей АлексеевичCatwoofБаза 1эССная и не маленькая, это первый способ что можно найти. А если бы первый способ был "переустановте windows"?
CatwoofТеперь главный вопрос, как ужимать лог? Главнее вопрос "зачем ужимать лог".
А куда он девается? Кажется он растёт пока есть место...
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766729
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Catwoof,

если делать резервные копии журнала, то место в нем будет переиспользовано базой. Вы говорите: "ОК, я перенес записи в безопасное место, можешь затирать".
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766748
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
Значит я иду в правильном направлении
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766749
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatwoofГавриленко Сергей Алексеевичпропущено...
А если бы первый способ был "переустановте windows"?
пропущено...
Главнее вопрос "зачем ужимать лог".
А куда он девается? Кажется он растёт пока есть место...

Может есть причина, по которой он растет.

This automatic expansion could be driven because of several factors:

Uncommitted Transactions
Extremely Large Transactions
Operations: DBCC DBREINDEX and CREATE INDEX
While Restoring from Transaction Log Backups
Client Applications Do Not Process All Results
Queries Time Out Before a Transaction Log Completes the Expansion and You Receive False 'Log Full' Error Messages
Un-replicated Transactions
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766751
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_voronin,
В моём случае это из-за специалистов делавших скрипт в сотню строк.
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766774
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Catwoofa_voronin,
В моём случае это из-за специалистов делавших скрипт в сотню строк.
Это да, вот тысячи это нормально
...
Рейтинг: 0 / 0
MS SQL 2012 план бэкапа
    #39766780
Catwoof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
Тысяча - не предел. Я знаю, многие способы и на большее!
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS SQL 2012 план бэкапа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]