1 SET NOCOUNT ON
2 DECLARE @ t table (id int IDENTITY, n sysname)
3 DECLARE @ I int
4 DECLARE @ n sysname
5 DECLARE @ SQL Nvarchar (4000)
6 DECLARE @ cmd varchar (8000)
7
8 insert into @ t (n)
9 SELECT name FROM dbo. sysdatabases
10 WHERE name not in ('master', 'model', 'msdb', 'northwind ', 'pubs', 'tempdb', 'tmp ')
11
12 SET @ cmd = 'del E: \ backup \ SQL _data \ CompressPack \ backupdiff.rar'
13 EXEC master .. xp_mongoshell @ cmd
14
15 WHILE (select count (*) FROM @ t)> 0
16 BEGIN
17 select top 1 @ I = id FROM @ t
18 SELECT @ n = n FROM @ t WHERE @ I = id
19
20 SET @ SQL =''
21 SET @ SQL = @ SQL + N' DECLARE @ filename varchar (8000 );'
22 SET @ SQL = @ SQL + N' DECLARE @ rar_path varchar (8000 );'
23 SET @ SQL = @ SQL + N' SET @ rar_Path = ''c: \ Progra ~ 1 \ WinRAR \'';'
24 SET @ SQL = @ SQL + N' DECLARE @ cmd varchar (8000 );'
25 SET @ SQL = @ SQL + N' EXEC www_ednchina_com.dbo.usp_backup_database '+ @ N +', 'diff', @ filename output ;'
26 SET @ SQL = @ SQL + N' SET @ cmd = @ rar_Path + ''rar a E: \ backup \ SQL _data \ CompressPack \ backupdiff.rar E: \ backup \ SQL _data \ '+ @ n +' \ ''+ @ filename ;'
27 SET @ SQL = @ SQL + N' EXEC master .. xp_mongoshell @ cmd ';
28
29 EXEC sp_executesql @ SQL
30
31 delete from @ t WHERE @ I = id
32END