1SQL Backup differentialSET NOCOUNT ON
 2SQL Backup differentialDECLARE @t table(id int IDENTITY,n sysname)
 3SQL Backup differentialDECLARE @i int
 4SQL Backup differentialDECLARE @n sysname
 5SQL Backup differentialDECLARE @sql Nvarchar(4000)
 6SQL Backup differentialDECLARE @cmd varchar(8000)
 7SQL Backup differential
 8SQL Backup differentialINSERT INTO @t(n)
 9SQL Backup differentialSELECT name FROM dbo.sysdatabases
10SQL Backup differentialWHERE name NOT IN('master','model','msdb','Northwind','pubs','tempdb','tmp')
11SQL Backup differential
12SQL Backup differentialSET @cmd = 'DEL  E:\backup\sql_data\CompressPack\backupdiff.rar'
13SQL Backup differentialEXEC master..xp_cmdshell @cmd
14SQL Backup differential
15SQL Backup differentialWHILE (SELECT COUNT(*FROM @t)>0
16SQL Backup differentialBEGIN
17SQL Backup differential SELECT TOP 1 @i = id FROM @t
18SQL Backup differential SELECT @n = n FROM @t WHERE @i = id
19SQL Backup differential
20SQL Backup differential SET @sql = ''
21SQL Backup differential SET @sql = @sql + N'DECLARE @filename varchar(8000);'
22SQL Backup differential SET @sql = @sql + N'DECLARE @rar_path varchar(8000);'
23SQL Backup differential SET @sql = @sql + N'SET @rar_Path = ''C:\Progra~1\WinRAR\'';'
24SQL Backup differential SET @sql = @sql + N'DECLARE @cmd varchar(8000);'
25SQL Backup differential SET @sql = @sql + N'EXEC www_ednchina_com.dbo.usp_backup_database '+@n+',''diff'',@filename output;'
26SQL Backup differential SET @sql = @sql + N'SET @cmd = @rar_Path + ''rar a E:\backup\sql_data\CompressPack\backupdiff.rar E:\backup\sql_data\'+@n+'\'' + @filename;'
27SQL Backup differential SET @sql = @sql + N'EXEC master..xp_cmdshell @cmd';
28SQL Backup differential
29SQL Backup differential EXEC sp_executesql @sql
30SQL Backup differential
31SQL Backup differential DELETE FROM @t WHERE @i = id
32SQL Backup differentialEND

相关文章: