您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關SQL Server中怎么通過擴展存儲過程實現數據庫遠程備份與恢復,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
實現遠程備份與恢復的方法和步驟實例說明:
環境:win2k+sqlserver 2K+查詢分析器
SQL SERVER服務實例名稱:mainserver
需要備份的數據庫名稱: msdb
本地機器名稱(Client端):david
本地用戶:zf 密碼:123
本地域名:domain
本地提供備份需求的文件夾:e: est
第一步: 建立共享文件夾 在程序代碼中調用(或者CMD窗口) net share test=e: est 或者用NetShareAdd這個API 簡要說明: net share: 是WINDOWS內部的網絡命令。 作用:建立本地的共享資源,顯示當前計算機的共享資源信息。 語法:參見 net share /?
第二步: 建立共享信用關系
master..xp_cmdshell 'net use \david est 123 /user:domainzf'
簡要說明:
1:xp_cmdshell :是SQLSERVER的擴展存儲過程。
作用,以操作系統命令行解釋器的方式執行給定的命令字符串, 并以文本行方式返回任何輸出。
語法:參見SQLSERVER聯機幫助
2:net use: 是WINDOWS內部的網絡命令。
作用,將計算機與共享資源連接或斷開,或者顯示關于計算機 連接的信息。該命令還控制持久網絡連接。
語法:參見 net use /?
第三步:備份數據庫
backup database msdb to disk='\david estmsdb.bak'
這個不需要說明吧,語法參見SQLSERVER聯機幫助
第四步: 刪除共享文件夾
在程序代碼中調用(或者CMD窗口) net share test /delete 或者用NetShareDel這個API
結果: 已處理 1376 頁,這些頁屬于數據庫 'msdb' 的文件 'MSDBData'(位于文件 1 上)。 已處理 1 頁,這些頁屬于數據庫 'msdb' 的文件 'MSDBLog'(位于文件 1 上)。 BACKUP DATABASE 操作成功地處理了 1377 頁,花費了 3.653 秒(3.086 MB/秒)。 這樣mainserver服務器上的msdb就備份到了david機器的E: estmsdb.bak文件了,使用起來很簡單吧?恢復數據庫操作也是一樣,只要將第三個步驟的語句改為'restore database msdb from disk='\david estmsdb.bak'就可以啦。。你看完了也可以試試呀?!(最簡單的測試工具查詢分析器+CMD窗口)
備注:xp_cmdshell 這個擴展存儲過程只能SA級別的用戶調用,而且是SQL Server的安全隱患之一,許多DBA都喜歡將其刪除或者禁用,所以開發人員使用時要倍加小心哦。
關于SQL Server中怎么通過擴展存儲過程實現數據庫遠程備份與恢復就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。