SQL Server自动备份的SP, 只要加上数据库名, 和路径即可.

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)

就备份到指定的目录下, 星期天到星期六依次循环,(0---6)

你可能感兴趣的:(SQL Server)