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 |
12.10.2008 17:39 | |
AdminАдминистратор
Тема начата
Зарегистрирован: 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_ezone SET RECOVERY FULL; Код DBCC CHECKDB ('inetshop_ezone') WITH NO_INFOMSGS, TABLERESULTS; Код set @DateStr = REPLACE(REPLACE(REPLACE(CONVERT(varchar(100) , GetDate(), 20), '-', ''), ' ', '_'), ':', ''); --полный бекап базы Код set @BackupQuery = 'BACKUP DATABASE [iNETsHOP_ezone] TO DISK = N'''+ @FilePath + @FileName + '.bak''' + ' WITH INIT, NOUNLOAD, NAME = N''iNETsHOP backup'', NOFORMAT'; --очистка журнала транзакций Код set @BackupQuery = 'BACKUP LOG [iNETsHOP_ezone] WITH TRUNCATE_ONLY'; --архивирование бекапа Код set @CmdStr = 'C:\Progra~1\WinRAR\Rar mf -m5 -ep -dh -rr -ri5 "' + @FilePath + @FileName+'.rar" "'+ @FilePath + @FileName+'.bak"' --копирование бекапа на диск D:\, при необходимости путь можно указать любой Код set @CmdStr = 'COPY /B "' + @FilePath + @FileName+'.rar" "D:\BACKUPS\'+ @FileName+'.rar"' Отредактировано SilVerStoRm: 07.05.2009, 08:58:17 |