国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用SQLSERVER的擴展存儲過程實現遠程備份與恢復

2019-11-18 18:30:05
字體:
來源:轉載
供稿:網友
        最近我在為公司的框架程序(以數據應用為導向的應用體系)做數據管理模塊,這個模塊的需求比較簡單:備份、恢復和清理日志。我公司的軟件基本上以C/S為基本架構,所以數據管理模塊中兩個主要的功能‘備份與恢復’都可能會在Client端操作,備份與恢復’的文件也都有可能存儲在client端,因而這個數據管理模塊就必須能夠實現在遠程備份與恢復數據庫。

  文章的前提闡述完了,就該說說如何具體實現吧。其實都很簡單,我想寫個遠程備份的測試實例
給大家看,就能夠很清楚的描述吧!
  實例說明:
           環境:win2k+sqlserver 2K+查詢分析器
           SQLSERVER服務實例名稱:mainserver
           需要備份的數據庫名稱: msdb
           本地機器名稱(Client端):david
           本地用戶:zf 密碼:123
           本地域名:domain
           本地提供備份需求的文件夾:e:/test

  第一步: 建立共享文件夾
     在程序代碼中調用(或者CMD窗口)  net share test=e:/test
     或者用NetShareAdd這個API
     簡要說明:
            net share     : 是WINDOWS內部的網絡命令。
                            作用:建立本地的共享資源,顯示當前計算機的共享資源信息。
                            語法:參見 net share /? 
  第二步: 建立共享信用關系
     master..xp_cmdshell 'net use  //david/test 123 /user:domain/zf'
     簡要說明:
           1:xp_cmdshell :是SQLSERVER的擴展存儲過程。
                            作用,以操作系統命令行解釋器的方式執行給定的命令字符串,
                            并以文本行方式返回任何輸出。
                            語法:參見SQLSERVER聯機幫助
           2:net use      : 是WINDOWS內部的網絡命令。
                            作用,將計算機與共享資源連接或斷開,或者顯示關于計算機
                            連接的信息。該命令還控制持久網絡連接。
                            語法:參見 net use /?

  第三步:備份數據庫
     backup database msdb to disk='//david/test/msdb.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:/test/msdb.bak文件了,使用起來很簡單吧?恢復數據庫操作也是一樣,只要將第三個步驟的語句改為'restore database msdb from disk='//david/test/msdb.bak'就可以啦。。你看完了也可以試試呀??。ㄗ詈唵蔚臏y試工具查詢分析器+CMD窗口)

備注:xp_cmdshell 這個擴展存儲過程只能SA級別的用戶調用,而且是SQLSERVER的安全隱患之
      一,許多DBA都喜歡將其刪除或者禁用,所以開發人員使用時要倍加小心哦。
     文章中的例子只是簡要的說明了應如何利用擴展存儲過程實現遠程備份與恢復,沒有涉及安全以及其他方面的考慮,希望讀者在代碼中自行完善。


上一篇:用跨進程子類化技術實現對其它進程消息的攔載

下一篇:怎樣在自己的進銷存里導入速達、管家婆和用友的數據

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 剑河县| 晋中市| 乳山市| 贺州市| 滕州市| 渑池县| 安龙县| 裕民县| 松溪县| 高邑县| 灵台县| 名山县| 合山市| 库车县| 恩平市| 翁牛特旗| 容城县| 宾阳县| 本溪| 鄂托克前旗| 滦平县| 成安县| 都匀市| 涡阳县| 玛多县| 石门县| 新龙县| 泰来县| 共和县| 金坛市| 奉节县| 香港 | 乌拉特前旗| 东光县| 南昌市| 延安市| 普陀区| 太仓市| 班玛县| 靖宇县| 阿拉善左旗|