使用SQLSERVER的擴充套件儲存過程實現遠端備份與恢復 (轉)
標題很長,但內容簡單。。這是小弟的第一篇習作,寫的不好,望大家海涵。
最近我在為公司的(以資料應用為導向的應用體系)做資料管理模組,這個模組的需求比較簡單:、恢復和清理日誌。我公司的基本上以C/S為基本架構,所以資料管理模組中兩個主要的功能‘備份與恢復’都可能會在Client端操作,備份與恢復’的也都有可能在client端,因而這個資料管理模組就必須能夠實現在備份與恢復。
文章的前提闡述完了,就該說說如何具體實現吧。其實都很簡單,我想寫個遠端備份的測試例項
給大家看,就能夠很清楚的描述吧!
例項說明:
環境:+server 2K+查詢分析器
SQLSERVER服務例項名稱:mainserver
需要備份的資料庫名稱: ms
本地機器名稱(Client端):david
本地:zf 密碼:123
本地域名:ain
本地提供備份需求的資料夾:e:test
第一步: 建立共享資料夾
在程式程式碼中(或者CMD視窗) share test=e:test
或者用NetShareAdd這個
簡要說明:
net share : 是內部的命令。
作用:建立本地的共享資源,顯示當前的共享資源資訊。
語法:參見 net share /?
第二步: 建立共享信用關係
master..xp_cmd use 123 /user:domainzf'
簡要說明:
1:xp_cmdshell :是SQLSERVER的擴充套件。
作用,以操作命令列直譯器的方式給定的命令字串,
並以文字行方式返回任何輸出。
語法:參見SQLSERVER聯機幫助
2:net use : 是WINDOWS內部的網路命令。
作用,將計算機與共享資源連線或斷開,或者顯示關於計算機
連線的資訊。該命令還控制持久網路連線。
語法:參見 net use /?
第三步:備份資料庫
backup database msdb to disk='davidtestmsdb.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:testmsdb.bak檔案了,使用起來很簡單吧?恢復資料庫操作也是一樣,只要將第三個步驟的語句改為'restore database msdb from disk='davidtestmsdb.bak'就可以啦。。你看完了也可以試試呀?!(最簡單的測試工具查詢分析器+CMD視窗)
備註:xp_cmdshell 這個擴充套件儲存過程只能SA級別的使用者呼叫,而且是SQLSERVER的隱患之
一,許多都喜歡將其刪除或者禁用,所以開發人員使用時要倍加小心哦。
文章中的例子只是簡要的說明了應如何利用擴充套件儲存過程實現遠端備份與恢復,沒有涉及安全以及其他方面的考慮,希望讀者在程式碼中自行完善。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-998121/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SqlServer儲存過程的建立與使用SQLServer儲存過程
- SQLServer遠端備份SQLServer
- MySQL不同儲存引擎的資料備份與恢復MySql儲存引擎
- SQLSERVER儲存過程SQLServer儲存過程
- 用flashback恢復儲存過程儲存過程
- SqlServer備份和恢復(二)SQLServer
- SqlServer 備份和恢復(一)SQLServer
- Sqlserver中的儲存過程SQLServer儲存過程
- vsan儲存資料恢復過程—虛擬機器故障恢復過程資料恢復虛擬機
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- innobackup遠端流式備份及其恢復主要操作
- 梭子魚備份產品解決方案再次擴充套件儲存容量及效能套件
- RAC備份恢復之Voting備份與恢復
- 分散式文件儲存資料庫之MongoDB備份與恢復分散式資料庫MongoDB
- 使用nub恢復資料庫的知識擴充套件資料庫套件
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 儲存崩潰資料恢復過程;資料恢復案例資料恢復
- MySQL備份與恢復——實操MySql
- SqlServer-儲存過程分頁SQLServer儲存過程
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- 【SqlServer】清除過期資料的儲存過程SQLServer儲存過程
- Longhorn,企業級雲原生容器分散式儲存 - 備份與恢復分散式
- 開發直播app軟體過程中的雲端儲存和備份APP
- Web儲存(Web Storage)擴充套件EStorageWeb套件
- DB的備份與恢復
- GitLab的備份與恢復Gitlab
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- ORACLE備份&恢復案例(轉)Oracle
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- SqlServer資料庫恢復備份資料的方法SQLServer資料庫
- 直播平臺軟體開發過程中的雲端儲存和備份
- Mysql備份與恢復(1)---物理備份MySql
- GitLab的自動備份、清理備份與恢復Gitlab
- JAVA儲存過程(轉)Java儲存過程
- vertica 如何實現儲存過程?儲存過程
- V3700系列儲存資料恢復成功過程資料恢復
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql