Программа iNETsHOP - обработка, сравнение, анализ прайс листов поставщиков, создание каталога товаров интернет магазина Форум - SQL Server мелкософт копирайтед - Бекапирование/восстановление резервной копии БД - Текст джоба бекапа


http://inetshop.in.ua/index.php?p=showtopic&toid=29&fid=&area=1&print_post=61
29.11.2007 19:22

Admin


Администратор


Количество сообщений   135
Зарегистрирован:   23-08-2007, 09:03:21
Если база имеет небольшой объём, то бекап делать лучше так:
declare @BackupQuery nVarchar(600);
declare @DateStr nVarchar(100);
declare @FileName nVarchar(500);
declare @FilePath nVarchar(500);
declare @CmdStr nVarchar(500);

--Устанавливаем полный тип бекапирования
ALTER DATABASE inetshop SET RECOVERY FULL;
--проверяем базу данных и по возможности восстанавливаем
DBCC CHECKDB ('inetshop') WITH NO_INFOMSGS, TABLERESULTS;
--формируем имя файла бекапа по текущей дате и времени а также путь его сохранения
set @DateStr = REPLACE(REPLACE(REPLACE(CONVERT(varchar(100) , GetDate(), 20), '-', ''), ' ', '_'), ':', '');
set @FileName = 'iNETsHOP_' + @DateStr;
set @FilePath = 'C:\Program Files\Microsoft SQL Server\MSSQL$INETSHOP\BACKUP\';
--полный бекап базы
set @BackupQuery = 'BACKUP DATABASE [iNETsHOP] TO DISK = N'''+ @FilePath + @FileName + '.bak''' + ' WITH INIT, NOUNLOAD, NAME = N''iNETsHOP backup'', NOFORMAT';
execute sp_executesql @BackupQuery;
--очистка журнала транзакций
set @BackupQuery = 'BACKUP LOG [iNETsHOP] WITH TRUNCATE_ONLY';
execute sp_executesql @BackupQuery;
--архивирование бекапа
set @CmdStr = 'C:\Progra~1\WinRAR\Rar mf -m5 -ep -dh -rr -ri5 "' + @FilePath + @FileName+'.rar" "'+ @FilePath + @FileName+'.bak"'
EXEC master..xp_cmdshell @CmdStr;
--копирование бекапа на диск D:\, при необходимости путь можно указать любой
set @CmdStr = 'COPY /B "' + @FilePath + @FileName+'.rar" "D:\'+ @FileName+'.rar"'
EXEC master..xp_cmdshell @CmdStr;
Отредактировано SilVerStoRm: 21.12.2007, 22:40:30