SQL server 实现自动异地备份

1、前提条件
1.sqlserver2005 要开启:xp_cmdshell 。
2.两个机器要能联通,能够在命令行测试:
net use z: \\remote_IP\f\remote_backup_dir "password" /user:remote_IP\administrator'
3.开启 sql server 代理。
2、在创建做业
1.在对象资源库中点开“sql server 代理”-->右击“做业”选项-->选择“新建做业”。
2.在“新建做业”面版上的“常规”选项卡中填入“做业名”。
3.在“新建做业”面版上的“步骤”选项卡中的最下方找到“新建(N)”按钮 新建做业。
4.在在“新建做业步骤”面版中填入“步骤名称” 选择“数据库” 就是你要选择备份的数据库。
5.在“命令M”右边的文本框中填入以下代码:

declare @dbname nvarchar(200)   
set @dbname = 'db_name'     ---'db_name'     为数据库名

declare @string nvarchar(200)   
   
set @string = net use z: \\remote_IP\f\remote_backup_dir "password" /user:remote_IP\administrator'  
-----remote_IP :为远程机器地址
-----f:远程机器的盘符
-----remote_backup_dir:  远程机器的盘符共享文件夹(就是你保存数据库备份文件的位置)
-----"password"  :远程机器密码
----administrator:远程机器用户名   

exec master..xp_cmdshell @string   

declare @date datetime     
set @date = GetDate()   
   
declare @str nvarchar(100)   
   
set @str = D:\local_backup_dir\db_name_'+ convert(nvarchar(12), @date, 112) + '_' + DateName(hour, @date) + DateName(minute, @date) + '.bak'  
----D:\local_backup_dir   :你本机包存备份文件的地址
backup database @dbname to disk=@str with init   
declare @str1 nvarchar(100)   
   
set @str1 = 'copy '+ @str +' z:'   
   
exec master..xp_cmdshell @str1   

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


3、在新建做业面版上选择“计划” 这在里设置你要备份的频率。
4、完成后在做业上选择“开始做业”而后就OK了。

sql

相关文章
相关标签/搜索