sqlserver數據庫備份存儲過程

USE [master]
GO
/****** Object:  StoredProcedure [dbo].[shiming_backup]    Script Date: 12/03/2013 11:41:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[shiming_backup] AS
declare
@prefix nvarchar(100),
@datefile nvarchar(100),
@bakfile nvarchar(100),
@rarfile nvarchar(100),
@delcmd nvarchar(100),
@rarcmd nvarchar(150)
set @prefix='E:/dbbackup/' --備份文件夾
set @datefile='shiming'+convert(varchar(10),getdate(),120)
set @bakfile=@prefix+@datefile+'.bak'
set @rarfile=@prefix+@datefile+'.rar'
BACKUP DataBASE shiming TO DISK = @bakfile WITH INIT , NOUNLOAD , NAME = N'shiming數據備份', NOSKIP , STATS = 10, NOFORMAT
set @delcmd = 'del '+@prefix+@datefile+'.rar'   --先清空RAR備份文件夾
set @rarcmd ='rar a -df -ep1 '+@rarfile+' '+@bakfile --壓縮後刪除源文件並在壓縮文件中刪除路徑

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;

exec master..xp_cmdshell  @delcmd
exec master..xp_cmdshell  @rarcmd

EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;
EXEC sp_configure 'show advanced options', 0;RECONFIGURE;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章