CREATE procedure sp_backDB @dbname varchar(100),@path varchar(100)
as
--create by Allen 2004-11-01 in order to backup database and verify database
declare @bakname varchar(100)
--declare @dbname varchar(100)
declare @sql varchar(8000)
--declare @sql1 varchar(8000)
--declare @path varchar(100)
--set @path='c:\'
--set @dbname='northwind'
set @bakname=@dbname+cast(datepart(weekday,getdate())-1 as varchar(1))
--星期日到星期六对应备份文件是bak0到bak6
set @sql='BACKUP DATABASE ['+@dbname+'] TO DISK=N'''+@path+''+@bakname+'.bak'' WITH INIT,NOUNLOAD,NOSKIP,STATS=10,NOFORMAT'
--print @sql
set @sql=@sql+' DECLARE @i INT
select @i = position from msdb..backupset where database_name='''+@dbname+'''and type!='''+'F'''+'
and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name='''+@dbname+''')
RESTORE VERIFYONLY FROM DISK = N'''+@path+''+@bakname+'.bak'''+' WITH FILE = @i'
--print @sql
exec(@sql)
as
--create by Allen 2004-11-01 in order to backup database and verify database
declare @bakname varchar(100)
--declare @dbname varchar(100)
declare @sql varchar(8000)
--declare @sql1 varchar(8000)
--declare @path varchar(100)
--set @path='c:\'
--set @dbname='northwind'
set @bakname=@dbname+cast(datepart(weekday,getdate())-1 as varchar(1))
--星期日到星期六对应备份文件是bak0到bak6
set @sql='BACKUP DATABASE ['+@dbname+'] TO DISK=N'''+@path+''+@bakname+'.bak'' WITH INIT,NOUNLOAD,NOSKIP,STATS=10,NOFORMAT'
--print @sql
set @sql=@sql+' DECLARE @i INT
select @i = position from msdb..backupset where database_name='''+@dbname+'''and type!='''+'F'''+'
and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name='''+@dbname+''')
RESTORE VERIFYONLY FROM DISK = N'''+@path+''+@bakname+'.bak'''+' WITH FILE = @i'
--print @sql
exec(@sql)
就备份到指定的目录下, 星期天到星期六依次循环,(0---6)