--备份环境:把数据库服务器(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级别的饿权限,存在安全问题,
备份到本机的话可以使用维护计划,实现的效果和花样都很多。。但是不能在里面做远程备份。。除非先在本地做好远程盘符影射。