北京赛车单双技巧 北京赛车pk10黑客软件 北京pk10计划免费软件 pk10前二做号工具 pk10专业预测 pk10民间高手 北京pk10挂机选号经验分享模式 pk10冠军3码倍投计划 北京赛车计划app手机版 北京赛车开奖软件 pk10最牛稳赚模式最新 pk10全天免费计划 易算北京pk10准不准 pk10赛车7码技巧 pk10八码滚雪球3期一收

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

10/3/2003來源:SQL技巧人氣:41179

   最近我在為公司的框架程序(以數據應用為導向的應用體系)做數據管理模塊,這個模塊的需求比較簡單:備份、恢復和清理日志。我公司的軟件基本上以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'就可以啦。。你看完了也可以試試呀?!(最簡單的測試工具查詢分析器+CMD窗口)

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



pk10有什么方法平刷
北京赛车单双技巧 北京赛车pk10黑客软件 北京pk10计划免费软件 pk10前二做号工具 pk10专业预测 pk10民间高手 北京pk10挂机选号经验分享模式 pk10冠军3码倍投计划 北京赛车计划app手机版 北京赛车开奖软件 pk10最牛稳赚模式最新 pk10全天免费计划 易算北京pk10准不准 pk10赛车7码技巧 pk10八码滚雪球3期一收
88必发官方唯一网 865连连棋牌游戏大厅下载 青海体彩11远5开奖结果 银行岁数大不让赚钱 北京pk10投注站老平台 腾龙做号app 大乐透19119期预测, AG电子游戏怎么赢钱 谁有腾龙时时彩做号apk