1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| use Master
go
--drop table #BckDatabases
Create Table #BckDatabases (
databasename sysname
)
Set nocount on
declare @BckPath varchar(255)
declare @Prefix varchar(50)
declare @Extension varchar(10)
/****************************/
/* Paramétrage */
/****************************/
Set @BckPath = 'chemin_backup'
Set @Prefix = cast(year(getdate() as varchar)+cast(month(getdate() as varchar)+cast(day(getdate() as varchar)
Set @Extension = '.bak'
insert into #BckDatabases values('base1')
insert into #BckDatabases values('base2')
etc...
/****************************/
PRINT ''
PRINT 'Liste des bases à Backuper :'
Select * from #BckDatabases
declare @CurrentDB sysname
declare @sql varchar(2000)
declare @fileName varchar(255)
Set nocount off
Declare curDB Cursor for
Select databasename from #BckDatabases
open curDB
Fetch next from CurDB into @CurrentDB
while @@fetch_status = 0
begin
Set @FileName = @bckPath +@Prefix +@CurrentDB + @Extension
PRINT '===================================================================='
PRINT '** '+@CurrentDB + ' Backup Started on '+Cast(GetDate() as Varchar)
Set @sql = 'BACKUP DATABASE '+@CurrentDB + ' TO DISK=N'''+@filename+''''
print @sql
exec (@sql)
PRINT '** '+@CurrentDB + ' Backup Ended on '+Cast(GetDate() as Varchar)
PRINT '===================================================================='
PRINT ''
Fetch next from CurDB into @CurrentDB
end
deallocate CurDB
drop table #BckDatabases |