DKSoft
  1 EXEC sp_configure \'show advanced options\'1    
  2 
  3  
  4 
  5 GO   
  6 
  7  
  8 
  9 RECONFIGURE  WITH OVERRIDE   
 10 
 11  
 12 
 13 GO 
 14 
 15  
 16 
 17 --以下写入作业
 18 
 19  
 20 
 21 EXEC sp_configure\'xp_cmdshell\'1     
 22 
 23 GO   
 24 
 25 RECONFIGURE      
 26 
 27 GO 
 28 
 29  
 30 
 31 declare @sql varchar(4000
 32 
 33 declare @backupfile varchar(2000)
 34 
 35 declare @retaindays int
 36 
 37 declare @now datetime
 38 
 39 declare @deletefiles varchar(2000)
 40 
 41 declare @cmd varchar(2000)
 42 
 43 declare @i int
 44 
 45  
 46 
 47  
 48 
 49 declare @User varchar(2000)
 50 
 51 declare @Pwd varchar(2000)
 52 
 53 declare @Store varchar(2000)
 54 
 55 declare @IPPart varchar(2000)
 56 
 57 declare @IP varchar(2000)
 58 
 59  
 60 
 61  
 62 
 63 set @Store=\'EF_DATA\'      --数据库名
 64 
 65 set @User =\'administrator\'    --用户名(异地服务器)-----要管理员权限
 66 
 67 set @Pwd =\'abcd159357\'      --密码(异地服务器)-------密码不要有符号
 68 
 69 set @IPPart=\'数据交换\'        --路径(异地服务器的共享目录,此目录要有有上面用户的访问读写权限)
 70 
 71 set @IP=\'192.168.1.7\' 
 72 
 73 set @retaindays=6         --要保留备份的天数
 74 
 75  
 76 
 77  
 78 
 79 --建立映射
 80 
 81 set @cmd=\'net use x: \\\'+ @IP +\'\\'+ @IPPart + \' \'+ @Pwd +\' /user:\'+ @IP +\'\\'+ @User
 82 
 83 exec master..xp_cmdshell @cmd
 84 
 85  
 86 
 87  
 88 
 89 --删除以前的备份
 90 
 91 set @now=getdate()
 92 
 93 set @i=0
 94 
 95 while (@i < 30)
 96 
 97 begin
 98 
 99     set @deletefiles = \'x:\*\' +convert(varchar(8),dateadd(dd,-@retaindays-@i,@now),112)+\'*.*\'
100 
101     set @cmd=\'del \' + @deletefiles
102 
103     exec master..xp_cmdshell @cmd
104 
105     set @i = @i +1
106 
107 end
108 
109  
110 
111 --开始备份
112 
113 set @backupfile=\'x:\\'+ @Store + \'_db_\'+
114 
115     replace(replace(replace(convert(varchar,getdate(),20),\'-\',\'\'),\' \',\'\'),\':\',\'\')+\'.BAK\'
116 
117 set @sql=\'backup database \' + @Store + \' to disk=\'\'\'+@backupfile+\'\'\' with retaindays=\'+convert(varchar(10),@retaindays)
118 
119 --print @sql
120 
121 exec (@sql)
122 
123  
124 
125 set @backupfile=\'x:\\'+ @Store +\'_tlog_\'+
126 
127     replace(replace(replace(convert(varchar,getdate(),20),\'-\',\'\'),\' \',\'\'),\':\',\'\')+\'.TRN\'
128 
129 set @sql=\'backup LOG \' + @Store + \' TO DISK=\'\'\'+@backupfile+\'\'\' with retaindays=\'+convert(varchar(10),@retaindays)
130 
131 --print @sql
132 
133 exec (@sql)
134 
135  
136 
137  
138 
139 --删除映射
140 
141 exec master..xp_cmdshell\'net use x: /delete\'
142 
143  
144 
145 --关闭允许执行xp_cmdshell
146 
147 EXEC sp_configure\'xp_cmdshell\'0    
148 
149 GO     
150 
151 RECONFIGURE WITH OVERRIDE    
152 
153 GO   

分类:

技术点:

相关文章: