Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Sasha-UFO
Member

Откуда: Салават
Сообщений: 17
Добрый день!
Нужно следующее:
1. Автоматическое бэкапирование базы данных (БД) с записью в архив с помощью bat-файла;
2. Автоматическое восстановление БД из последнего заархивированного бэкапа.

Сейчас делаю так (без архивирования):
1. автобэкап
BAT файл:
sqlcmd -S tomi.plane.ru -i BackUpBASE0203.sql -o LogBackUpBASE0203.txt

файл скрипта BackUpBASE0203.sql:
declare @a varchar (255)
declare @b datetime
set @b = cast(cast(cast(getdate() as int) as float) as datetime)
set @a = 'E:\Backup_BASE020\' + 'BASE020' + '_' +Convert(varchar(8), GETDATE(), 112) + '_' + replace(cast(CONVERT(varchar(8), GETDATE(), 108) as varchar(8))+ '.bak', ':','.')
BACKUP DATABASE BASE020
TO DISK = @a

2. Автовосстановление в тестовую базу из последнего бэкапа
BAT файл:
sqlcmd -S tomi.plane.ru -i recoveryBASE0203.sql -o LogRecoveryBASE0203.txt

файл скрипта recoveryBASE0203.sql:
USE Master
GO
SET NOCOUNT ON

DECLARE @dbName sysname
DECLARE @backupPath NVARCHAR ( 200 )
DECLARE @cmd NVARCHAR ( 200 )
DECLARE @fileList TABLE ( backupFile NVARCHAR ( 200 ))
DECLARE @lastFullBackup NVARCHAR ( 200 )

SET @dbName = 'BASE0203_sandbox' --Указываю имя базы, куда хочу восстановить бэкап!;
SET @backupPath = 'E:\Backup_BASE0203\' --Директория, где хранятся мои бэкапы!;

SET @cmd = 'DIR /b ' + @backupPath
INSERT INTO @fileList ( backupFile )
EXEC master.sys. xp_cmdshell @cmd

SELECT @lastFullBackup = MAX ( backupFile )
FROM @fileList
WHERE backupFile LIKE '%.BAK'

SET @cmd = ''+ @backupPath + @lastFullBackup + ''

RESTORE DATABASE @dbname
FROM DISK = @cmd
WITH REPLACE, MOVE 'BASE0203_data' TO 'E:\SQLbd\BASE0203_sandbox.mdf', MOVE 'BASE0203_log' TO 'E:\SQLbd\BASE0203_sandbox.ldf'

PRINT @cmd
-------------------------------------------------------
--'BASE0203_data' Имя базы, которую бэкапим!
--'BASE0203_log' Имя лога базы, которую бэкапим!
--'E:\SQLbd\BASE0203_sandbox.mdf' Полный путь к базе .mdf, в которую восстанавливаем бекап!
--'E:\SQLbd\BASE0203_sandbox.ldf' Полный путь к логу .ldf, в которую восстанавливаем бекап!


Нужно аналогичное, но с записью бэкапа в архив; и перед восстановлением извлечение бэкапа из архива.
24 апр 13, 09:34    [14222115]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Glory
Member

Откуда:
Сообщений: 104760
Sasha-UFO
Нужно аналогичное, но с записью бэкапа в архив; и перед восстановлением извлечение бэкапа из архива.

Что мешает добавить в каждый bat файл строку запуска любимого вами архиватора ?
24 апр 13, 09:36    [14222120]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Sasha-UFO
Member

Откуда: Салават
Сообщений: 17
Glory
Sasha-UFO
Нужно аналогичное, но с записью бэкапа в архив; и перед восстановлением извлечение бэкапа из архива.

Что мешает добавить в каждый bat файл строку запуска любимого вами архиватора ?


То, что я не спец. На сервере установлен 7z.
24 апр 13, 10:04    [14222248]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Glory
Member

Откуда:
Сообщений: 104760
Sasha-UFO
То, что я не спец.

Так наймите спеца - пусть напишет за вас код.
24 апр 13, 10:07    [14222263]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
icprog
Member

Откуда:
Сообщений: 166
Sasha-UFO,

Почитайте здесь: http://www.t-sql.ru/post/BackupScript1.aspx
Там внизу ссылки еще на пару способов, в том числе с 7zip
24 апр 13, 10:22    [14222328]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Sasha-UFO,

создание архива rar 11614563
24 апр 13, 11:05    [14222562]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
А может вас просто устроит параметр COMPRESSION инструкции BACKUP DATABASE ???
24 апр 13, 11:30    [14222731]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
stavgreengo
А может вас просто устроит параметр COMPRESSION инструкции BACKUP DATABASE ???

+1, попробуйте сперва использовать сжатие на уровне sql
24 апр 13, 12:08    [14223072]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Sasha-UFO
Member

Откуда: Салават
Сообщений: 17
Glory
Sasha-UFO
То, что я не спец.

Так наймите спеца - пусть напишет за вас код.


ммм, вот как....
Типа, форум значит тука вообще бесполезная....
24 апр 13, 12:47    [14223442]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33955
Блог
Sasha-UFO
ммм, вот как....
Типа, форум значит тука вообще бесполезная....


для халявщиков - да
24 апр 13, 13:25    [14223748]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Sasha-UFO
Member

Откуда: Салават
Сообщений: 17
Критик
Sasha-UFO
ммм, вот как....
Типа, форум значит тука вообще бесполезная....


для халявщиков - да


ппц... а я мож научиться хочу...
А с таким вашим отношением........
24 апр 13, 13:30    [14223783]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
invm
Member

Откуда: Москва
Сообщений: 9401
Sasha-UFO
ппц... а я мож научиться хочу...
Вам уже дали ссылку. Чем не материал для учебы?
24 апр 13, 13:44    [14223908]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Sasha-UFO
Member

Откуда: Салават
Сообщений: 17
invm
Sasha-UFO
ппц... а я мож научиться хочу...
Вам уже дали ссылку. Чем не материал для учебы?


дааааааа, ребята, не айс учителя из вас....
24 апр 13, 13:52    [14223973]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Sasha-UFO,
понятное дело,вы небось хотели готовый код чтоб за вас написали
24 апр 13, 13:53    [14223984]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
invm
Member

Откуда: Москва
Сообщений: 9401
Sasha-UFO
дааааааа, ребята, не айс учителя из вас....
Вот поэтому вас и назвали халявщиком, что желаете готовенького, да еще и не на профильном форуме. Ибо ваш вопрос не имеет ни малейшего отношения к SQL Server.
24 апр 13, 13:56    [14224007]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
Sasha-UFO
Member

Откуда: Салават
Сообщений: 17
invm
Sasha-UFO
дааааааа, ребята, не айс учителя из вас....
Вот поэтому вас и назвали халявщиком, что желаете готовенького, да еще и не на профильном форуме. Ибо ваш вопрос не имеет ни малейшего отношения к SQL Server.


Тогда удалите мои посты!
24 апр 13, 14:13    [14224161]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31432
Sasha-UFO
То, что я не спец. На сервере установлен 7z.
...
ппц... а я мож научиться хочу...
А с таким вашим отношением........
Так вам подсказали решение:
Glory
Что мешает добавить в каждый bat файл строку запуска любимого вами архиватора ?

Смотрите справку 7z, читаете, как его вызывать из командной строки, вставляете в ваш .bat файл.

Плюс подсказали ещё 2 способа - встроенная компрессия и вызов rar
Sasha-UFO
Типа, форум значит тука вообще бесполезная....
Тем. кто учится, тут помогают, подсказывают, для тех, кому не нужно учиться, тут есть форум "работа", там могут сделать всё за вас, без проблем!
24 апр 13, 14:30    [14224313]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
angel_zar
Member

Откуда: Барнаул
Сообщений: 902
Хотите, чтоб вас учили, идите в школу, колледж, университет или на курсы.
Здесь, форум и ни кто, ни кому, ни чего не должен.
Пункты 8-10 рекомендаций по оформлению сообщений на форуме.
Если вам лень просмотреть, справку (официальную документацию), то почему другие должны это делать за Вас???
24 апр 13, 14:49    [14224525]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация бэкапа и восстановления БД с записью в архив/извлечением из архива  [new]
kain111
Member

Откуда:
Сообщений: 226
автор

"C:\Program Files (x86)\7-Zip\7z.exe" a -t7z F:\backups\ms_sql_nefco_backup\arc.7z F:\backups\ms_sql_nefco_backup\*.bak -mx=3
if not exist F:\backups\ms_sql_nefco_backup\%date:~-10% MD F:\backups\ms_sql_nefco_backup\%date:~-10%
move F:\backups\ms_sql_nefco_backup\*.7z F:\backups\ms_sql_nefco_backup\%date:~-10%
net use x: \\192.168.1.3\Back_up_SQL pass /user:administrator
del x:\*.* /q
copy F:\backups\ms_sql_nefco_backup\%date:~-10%\*.7z x:
net use x: /delete
del F:\backups\ms_sql_nefco_backup\*.bak /q
del F:\backups\ms_sql_nefco_backup\*.7z /q


автор
%time:~1,1% -- hours
Here is an explanation on date extraction:
%date:~4,2% --- month as 2 digits
%date:~6,2% --- days as 2 digits
%date:~10,4% --- year as 4 digits.


старые скрипты, допили под свои пути сам.
25 апр 13, 09:57    [14228386]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить