sql server遠程備份和恢復
SQLSERVER服務實例名稱:192.168.0.2
須要備份的數據庫名稱: a
備份機器名稱(Client端):192.168.0.3
備份機用戶:zf 密碼:123
備份機域名:domain
備份機提供備份需求的文件夾:D:\sqlbakhtml
備份數據庫sql
第一步: 在備份機創建共享文件夾
在程序代碼中調用(或者CMD窗口) net share sqlbakup=D:\sqlbak 或者用NetShareAdd這個API
簡要說明:
net share:是WINDOWS內部的網絡命令。
做用:創建本地的共享資源,顯示當前計算機的共享資源信息。shell
第二步: 創建共享信用關係
exec master..xp_cmdshell 'net use file://192.168.0.3/sqlbak 123 /user:domain\zf'
簡要說明:
1:xp_cmdshell :是SQLSERVER的擴展存儲過程。
做用:以操做系統命令行解釋器的方式執行給定的命令字符串, 並以文本行方式返回任何輸出。
語法:參見SQLSERVER聯機幫助
2:net use : 是WINDOWS內部的網絡命令。
做用:將計算機與共享資源鏈接或斷開,或者顯示關於計算機鏈接的信息。數據庫
該命令還控制持久網絡鏈接。網絡
第三步:備份數據庫
backup database a to disk='\\192.168.0.3\sqlbak\a.bak'
backup database a to disk='\\192.168.0.3\sqlbak\a1.bak' WITH DIFFERENTIAL (差別備份)dom
第四步: 刪除共享文件夾
在程序代碼中調用(或者CMD窗口) net share sqlbakup/delete
或者用NetShareDel這個API
post
恢復數據庫url
restore database a from disk='\\192.168.0.3\sqlbak\a.bak'
如下是差別還原
restore database scs from disk='\\192.168.0.3\sqlbak\a.bak' WITH NORECOVERY
restore database scs from disk='\\192.168.0.3\sqlbak\a1.bak' WITH NORECOVERY
restore database scs from disk='\\192.168.0.3\sqlbak\a2.bak' spa