下面是个备份服务器中全部数据库的脚本,想把备份文件改成 “数据库名”+“备份日期”+“.bak”的形式,如何改?
例如,原来备份fcda数据库,生成的备份文件名字为fcda.bak
更改后想达到的效果是,例如今天是2010年02月05日,哪么生成的备份文件名字就为fcda100205.bak/*------------------------------------------------------------------------------------------------------*/
/*原来备份脚本*/
declare @dbname varchar(256)
declare @sqldump varchar(8000)
declare @sqldbcc varchar(8000)
declare @sqlbak varchar(8000)
declare cur cursor local for
select name from master..sysdatabases
open cur
fetch next from cur into @dbname
while @@fetch_status=0
begin
/*数据库备份*/
set @sqlbak='backup database '+@dbname+' to disk=''e:\databak\'+@dbname+'.bak'''+'with init'
exec(@sqlbak)
/* */
fetch next from cur into @dbname
end
close cur
deallocate cur
例如,原来备份fcda数据库,生成的备份文件名字为fcda.bak
更改后想达到的效果是,例如今天是2010年02月05日,哪么生成的备份文件名字就为fcda100205.bak/*------------------------------------------------------------------------------------------------------*/
/*原来备份脚本*/
declare @dbname varchar(256)
declare @sqldump varchar(8000)
declare @sqldbcc varchar(8000)
declare @sqlbak varchar(8000)
declare cur cursor local for
select name from master..sysdatabases
open cur
fetch next from cur into @dbname
while @@fetch_status=0
begin
/*数据库备份*/
set @sqlbak='backup database '+@dbname+' to disk=''e:\databak\'+@dbname+'.bak'''+'with init'
exec(@sqlbak)
/* */
fetch next from cur into @dbname
end
close cur
deallocate cur
set @dt=convert(varchar(8),getdate(),112)set @sqlbak='backup database '+@dbname+' to disk=''e:\databak\'+@dbname+@dt+'.bak'''+'with init'
declare @sqldump varchar(8000)
declare @sqldbcc varchar(8000)
declare @sqlbak varchar(8000)
declare cur cursor local for
select name from master..sysdatabases
open cur
fetch next from cur into @dbname
while @@fetch_status=0
begin
/*数据库备份*/
select @dbname = @dbname+right(convert(varchar(10),getdate(),112),6)set @sqlbak='backup database '+@dbname+' to disk=''e:\databak\'+@dbname+'.bak'''+'with init'
exec(@sqlbak)
/* */
fetch next from cur into @dbname
end
close cur
deallocate cur
declare @dbname varchar(256)
declare @sqldump varchar(8000)
declare @sqldbcc varchar(8000)
declare @sqlbak varchar(8000)
declare cur cursor local for
select name from master..sysdatabases
open cur
fetch next from cur into @dbname
while @@fetch_status=0
begin
/*数据库备份*/ set @sqlbak='backup database '+@dbname+' to disk=''e:\databak\'+@dbname+right(convert(varchar(10),getdate(),112),6)+'.bak'''+'with init'
--exec(@sqlbak)
/* */
print @sqlbak
fetch next from cur into @dbname
end
close cur
deallocate cur