SQL server 實現自動異地備份

一、前提條件
1.sqlserver2005 要開啓:xp_cmdshell 。
2.兩個機器要能聯通,可以在命令行測試:
net use z: \\remote_IP\f\remote_backup_dir "password" /user:remote_IP\administrator'
3.開啓 sql server 代理。
二、在建立作業
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'   


三、在新建作業面版上選擇“計劃” 這在裏設置你要備份的頻率。
四、完成後在作業上選擇“開始作業”然後就OK了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章