SQLSERVER服務執行個體名稱:192.168.0.2
需要備份的資料庫名稱: a
備份機器名稱(Client端):192.168.0.3
備份機使用者:zf 密碼:123
備份機網域名稱:domain
備份機提供備份需求的檔案夾:D:\sqlbak
備份資料庫
第一步: 在備份機建立共用資料夾
在程式碼中調用(或者CMD視窗) net share sqlbakup=D:\sqlbak 或者用NetShareAdd這個API
簡要說明:
net share:是WINDOWS內部的網路命令。
作用:建立本地的共用資源,顯示當前電腦的共用資源資訊。
第二步: 建立共用信用關係
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 (差異備份)
第四步: 刪除共用資料夾
在程式碼中調用(或者CMD視窗) net share sqlbakup/delete
或者用NetShareDel這個API
恢複資料庫
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'