如何进行数据库远程备份?
一个消费交易系统,数据库安全很重要,打算采取远程(异地)备份。
目前还不能决定是进行实时备份还是定期(一天或是一周)备份。
现在想采取的办法是:
1、在主机系统以外的地方建立备份点。
2、备份点的选择可能是:
同一办公楼的其它办公室;
或办公楼附近的另一办公楼;
IDC机位;
另一城市的办公点或是IDC机位;
现在不知道采取什么方式对数据进行备份操作,是人工用FTP软件传输,还是写个软件写期自动传输,或是sql server 2000本身就具备这样的功能?
不知是否可利用sql 2000的数据发布功能来实现?
------解决方案--------------------SQL如何备份到异机(远程?应该是一个道理.)
写成存储过程,建立作业定时备份~~~
--在sql中映射一下就可以了
exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码 " /user:yizhi\administrator '
/*--说明:
exec master..xp_cmdshell 'net use z: \\xz\c$ "密码 " /user:xz\administrator '
z:是映射网络路径对应本机的盘符,与下面的备份对应
\\xz\c$是要映射的网络路径
xz\administrator
xz是远程的计算机名,
administrator是登陆的用户名
密码 面指定的administrator用户的密码
--*/
--备份;with init覆盖|noinit添加
backup database 库名 to disk= 'E:\H_BACKUP.bak ' with init
--COPY
exec master..xp_cmdshell 'copy E:\H_BACKUP.bak z: '
--删除(这句可以去掉)
--exec master..xp_cmdshell 'del E:\H_BACKUP.bak '
--完成后删除映射
exec master..xp_cmdshell 'net use z: /delete '
------解决方案--------------------mark
------解决方案--------------------數據庫復制可以實現吧
------解决方案--------------------远程(异地)备份,在备份的过程中网络稳定很关键,这样的备份很容易失败,即使备份成功了还原的成功率也不高
建议还是在本机备份,传送bak文件好一点
------解决方案--------------------建议在本机定期备份
再通过软件或其它方式传到其它地方(将bak文件压缩打包再传更安全)
------解决方案--------------------建议在本机定期备份
再通过软件或其它方式传到其它地方(将bak文件压缩打包再传更安全)
------解决方案--------------------divmedia() 说的没错,但是如果是要手动转送的话,那岂不是一件麻烦事,能不能用什么自动转送的,比如用SQL语句 ,或者是用什么软件完成自动转送??
------解决方案--------------------即时远程备份不可靠,现实环境告诉我们,网络24小时保持100M速度的可能性不高,广域网就更加不用说, 所以建议让SQL自动备份到SQL服务器本地, 然后通过其它专业备份软件做远程备份, 只要设好执行时间不冲突就可以了.
------解决方案--------------------參考http://blog.csdn.net/feixiangVB/archive/2007/06/18/1656240.aspx試試
測試可以通過~~~
------解决方案--------------------写个链接下载
------解决方案--------------------create table t ( uid varchar(100), dgrade varchar(100)) insert into t
--在sql中映射一下就可以了 exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码 " /user:yizhi\administrator '
/*--说明: exec master..xp_cmdshell 'net use z: \\xz\c$ "密码 " /user:xz\administrator '
z:是映射网络路径对应本机的盘符,与下面的备份对应 \\xz\c$是要映射的网络路径
xz\administrator xz是远程的计算机名,
administrator是登陆的用户名密码 面指定的administrator用户的密码
--*/ --备份;with init覆盖|noinit添加
backup database 库名 to disk= 'E:\H_BACKUP.bak ' with init
--COPY
exec master..xp_cmdshell 'copy E:\H_BACKUP.bak z: '
--删除(这句可以去掉)
--exec master..xp_cmdshell 'del E:\H_BACKUP.bak '
--完成后删除映射 exec master..xp_cmdshell 'net use z: /delete '
------解决方案--------------------create proc spDBBackUNC @DBName varchar(20),@Path nvarchar(50)