昨夜飘风
昨 夜, 风, 飘 过; 枯 树, 叶, 飞 落。

--备份环境:把数据库服务器(192.168.1.8)的数据库(TEST)备份到(192.168.1.145)的C$下

--首先,做一个与客户端的映射
exec master..xp_cmdshell
'net use z: \\192.168.1.145\c$ "密码" /user:192.168.1.145\administrator'
/*--说明:
z:是映射网络路径对应本机的盘符,与下面的备份对应
\\192.168.1.145\c$是要映射的网络路径
192.168.1.145\administrator
192.168.1.145是远程的计算机名,administrator是登陆的用户名
密码                        上面指定的administrator用户的密码
--*/

--其次,进行数据库备份,有3中备份模式,根据需要选择一个就好了
backup database TEST to disk='z:\Test.bak' --增量备份

backup database TEST to disk='z:\Test.bak'   with   init  --覆盖备份

backup database TEST to disk='z:\Test.bak'   with   DIFFERENTIAL --差异备份

--最后.备份完成后删除映射
exec master..xp_cmdshell 'net use z: /delete'

 

将以上放到sqlserver的job 就可以达到自动备份效果了

进一步可以把备份名字自动生成


exec master..xp_cmdshell
'net use z: \\10.1.1.197\d$\dbback "123456" /user:10.1.1.197\administrator'

declare @a char(80)
select @a ='z:\' + replace(replace(convert(varchar(19),getDate(),120),' ','-'),':','-') + '-service_korea.bak'


backup database pubs to disk= @a

exec master..xp_cmdshell 'net use z: /delete'

其实远程备份到是很好用,不过执行用户必须有SA级别的饿权限,存在安全问题,

备份到本机的话可以使用维护计划,实现的效果和花样都很多。。但是不能在里面做远程备份。。除非先在本地做好远程盘符影射。

posted on 2008-06-19 10:36  昨夜飘风  阅读(511)  评论(0编辑  收藏  举报