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

相關文章
相關標籤/搜索