天天看點

SQL Server中如何備份到異機SQL Server中如何備份到異機

這裡提供兩種方法:

1,寫成存儲過程,建立作業定時備份

--在sql中映射一下 

exec master..xp_cmdshell 'net use z: \\computer_name\D$ "密碼" /user:computer_name\administrator' 

/*--說明: 

z:是映射網絡路徑對應本機的盤符,與下面的備份對應 

\\computer_name\D$是要映射的網絡路徑 

computer_name是遠端的計算機名, 

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'

2,排程

企業管理器 --管理 --SQL Server代理 --右鍵作業 --建立作業 --"正常"項中輸入作業名稱 --"步驟"項 --建立 --"步驟名"中輸入步驟名 --"類型"中選擇"Transact-SQL 腳本(TSQL)" --"資料庫"選擇執行指令的資料庫 --"指令"中輸入要執行的語句: 

declare @strsql varchar(1000) 

declare @strdirname varchar(50) 

declare @strcmd varchar(50) 

declare @strsend varchar(1000) 

declare @strdate varchar(50) 

exec master..xp_cmdshell 'net use \\192.168.0.151\d$ Password /user:192.168.0.151\administrator' 

set @strsql='backup database new_his to disk=''\\192.168.0.151\d$\serverd\' 

set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')+'12' 

set @strcmd='md \\192.168.0.151\d$\serverd\' s

et @strcmd=@strcmd+@strdirname 

exec master..xp_cmdshell @strcmd 

--print @strsql 

set @strsql=@strsql+@strdirname+'\new_hisbackup.dat'' with init,nounload,noskip,noformat' -

-print @strsql 

exec (@strsql) 

----其中寫的IP位址及共享目錄,網友自行修改,Password一定要正确 --确定 --"排程"項 --建立排程 --"名稱"中輸入排程名稱 --"排程類型"中選擇你的作業執行安排 --如果選擇"反複出現" --點"更改"來設定你的時間安排 然後将SQL Agent服務啟動,并設定為自動啟動,否則你的作業不會被執行 設定方法: 我的電腦--控制台--管理工具--服務--右鍵 SQLSERVERAGENT--屬性--啟動類型--選擇"自動啟動"- 本文轉自 bilinyee部落格,原文連結: http://blog.51cto.com/215363/864162       如需轉載請自行聯系原作者        -确定.

<a href="http://blog.51cto.com/search/result?q=%E5%A6%82%E4%BD%95" target="_blank">如何</a>