Войти

Показать полную графическую версию : [решено] Резервное копирование с датой в MSSQL2005


dim_alf
12-09-2008, 11:35
В связи с грядущим переходом с MSSQL2000 на 2005 и предварительно возник вопрос. Можно ли в новой редакции делать резервное копирование с устанавливаемой в названии файла датой? Чтобы было хранилище типа: base1с80_12.08.2008.bak?

COPATHuK
12-09-2008, 21:10
DECLARE @date nvarchar(10)
SET @date = CONVERT(varchar(10), GETDATE(), 120)
DECLARE @cool nvarchar(4000)
SET @cool = 'E:\backup\base1с80'+ @date +'.bak'
BACKUP DATABASE base1с80
TO DISK = @cool
GO

или так :o)

Declare @CurrDate VARCHAR(255), @StartTime DATETIME
select @currDate='E:\backup\backup_' +convert(varchar(255),DATEPART(yy,getdate()))+'.'+convert(varchar(255),DATEPART(mm,getdate()))+'.'+c onvert(varchar(255),DATEPART(dd,getdate()))+'.'+convert(varchar(255),DATEPART(hh,getdate()))+'.'+con vert(varchar(255),DATEPART(n,getdate()))
BACKUP DATABASE [base1с80] TO DISK = @currDate WITH NOINIT , NOUNLOAD , NAME = N'backup', NOSKIP , STATS = 10, NOFORMAT

или хотиш юзай архиваторы


declare @c varchar(4000)
declare @MM varchar(10)
declare @DD varchar(10)
declare @YYYY varchar(10)
BACKUP DATABASE [base1с80] TO DISK = N'E:\backup\backup.bak'
WITH NOINIT , NOUNLOAD , NAME = N'backup', NOSKIP , STATS = 10, NOFORMAT
set @DD=day(getdate())
set @MM=month(GetDate())
set @YYYY=year(getdate())
set @c='rar a "' +'E:\backup\'+'backup_'+@DD+'_'+@MM+'_'+@YYYY+'.rar " ' +'E:\backup\backup.bak'
exec @res = master..xp_cmdshell @c


расписания через SQL Server Agent думаю не проблема тебе настроить

dim_alf
13-09-2008, 01:54
ммм, я вижу перед своими глазами PHP-шника? :)
Стандартными SQL-это можно сделать, или никак?

Busla
13-09-2008, 15:01
смотрю в книгу, вижу... PHP-шника :-)))))
это TransactSQL

dim_alf
14-09-2008, 09:58
ну если штатного планировщика нет - значит будем Tsql и сервер агеню юзать! Спасибо!




© OSzone.net 2001-2012