<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風起,扶搖直上九萬里

    常用鏈接

    統計

    積分與排名

    friends

    link

    最新評論

    ms sql 遠程備份 job(轉)

    mssql數據庫遠程備份的job


    /*在遠程機器操作系統的計算機管理里建立一個用戶名為dbbackup的用戶,密碼為1234,同時在那臺機器的非系統盤里建一個名為backup的共享文件夾,為了安全另外設置這個文件夾只有這個dbbackup用戶可以訪問。*/

    declare @sql varchar(500)


    select @sql='\\10.2.0.12\backup\dbname'+'_db_'+convert(varchar(10),getdate(),112) +


    substring(convert(varchar(10),getdate(),108),1,2) +'.bak'


    exec master..xp_cmdshell 'net use \\10.2.0.12\backup 1234 /user:remotehost\dbbackup'


    backup database dbname to disk=@sql --備份數據庫,這里的10.2.0.12為遠程機器的ip,remotehost為遠程機器的機器名,dbname為本地sqlserver服務器要備份的數據庫


    go


    declare @sql varchar(500)


    select @sql='del '+'\\10.2.0.12\backup\dbname'+'_db_'+convert(varchar(10),dateadd(day,-7,getdate()),112) +


    substring(convert(varchar(10),dateadd(day,-7,getdate()),108),1,2) +'.bak'


    exec master..xp_cmdshell @sql --刪除7天前的備份,也就是只保留7個最新備份


























    最近我在為公司的框架程序(以數據應用為導向的應用體系)做數據管理模塊,這個模塊的需求比較簡單:備份、恢復和清理日志。我公司的軟件基本上以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內部的網絡命令。
    作用:建立本地的共享資源,顯示當前計算機的共享資源信息。 字串8
    語法:參見 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


    已處理 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都喜歡將其刪除或者禁用,所以開發人員使用時要倍加小心哦。
    文章中的例子只是簡要的說明了應如何利用擴展存儲過程實現遠程備份與恢復,沒有涉及安全以及其他方面的考慮,希望讀者在代碼中自行完善。


    go

    posted on 2007-10-26 08:19 liaojiyong 閱讀(1612) 評論(0)  編輯  收藏 所屬分類: MSSQL

    主站蜘蛛池模板: 亚洲无线码一区二区三区| 亚洲精品无码永久在线观看| 亚洲AV无码久久| 99久久免费国产特黄| 久久亚洲av无码精品浪潮| 人妖系列免费网站观看| 亚洲女同成人AⅤ人片在线观看 | 国产成人免费高清激情明星| 亚洲天天做日日做天天欢毛片| 一级毛片免费不卡在线| 亚洲视频免费一区| 野花高清在线观看免费3中文 | 青青草原亚洲视频| 久久久久久噜噜精品免费直播| 亚洲欧洲无码AV电影在线观看| 国精产品一区一区三区免费视频| 无码乱人伦一区二区亚洲| 69精品免费视频| 亚洲熟女乱色一区二区三区 | 亚洲国产精品成人精品无码区| 光棍天堂免费手机观看在线观看| 亚洲欧洲一区二区| 成人毛片手机版免费看| 精品久久久久久亚洲中文字幕 | 亚洲国产精品成人精品软件| 成全视频在线观看免费高清动漫视频下载| 亚洲国产成人久久精品软件| 亚洲中文字幕丝袜制服一区| 久久狠狠躁免费观看| 亚洲精品天堂成人片AV在线播放 | 亚洲精品乱码久久久久久蜜桃不卡| 久久久久成人片免费观看蜜芽| 国产成人亚洲合集青青草原精品 | 野花高清在线电影观看免费视频| 丰满亚洲大尺度无码无码专线| 亚洲精品无码久久久久sm| 国产香蕉免费精品视频| 一级毛片在播放免费| 亚洲女人影院想要爱| 亚洲AV无码乱码在线观看性色扶 | 亚洲av中文无码字幕色不卡|