数据库备份存储过程

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

/*数据库备份_每日备   2009-11-26*/
ALTER  PROCEDURE dbo.Sp_DataBase_Backup_Day AS
  declare
    @FilePath nvarchar(255),
    @CommandString nvarchar(255),
    @dbname nvarchar(255),
    @Gs int

set @Gs=1
WHILE (@Gs < 4)
BEGIN
   IF (@Gs = 1) set @dbname='chemwy'
   IF (@Gs = 2) set @dbname='wuyedb'
   IF (@Gs = 3) set @dbname='chemqiyenet'
 
--备份
  set @FilePath = 'D:\dbbackup\'+@dbname+'(' + convert(char(8), getdate(), 112) + ').bak'
  print @FilePath BACKUP DATABASE @dbname TO DISK = @FilePath WITH INIT, NAME = N'DB_日数据备份', NOSKIP, NOFORMAT

--压缩
  set @CommandString = '"C:\Program Files\WinRAR\WinRAR" A -ibck -ep ' + replace(@FilePath, '.bak', '.rar') + ' ' + @FilePath
  print @CommandString
  exec xp_cmdshell @CommandString

--删除
  set @CommandString ='del ' + @FilePath
  print @CommandString
  exec xp_cmdshell @CommandString
  set @Gs=@Gs+1
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

 

你可能感兴趣的:(数据库备份)