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
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