SQL SERVER備份和恢複實戰

來源:互聯網
上載者:User

SQL SERVER備份和恢複實戰

由於手中有個項目馬上完工了,開始做資料庫的備份與恢複此類工作,查了下,大體有幾種實現方式,我的目標是在伺服器上備份便可,於是找了幾種方法實現了下,大致分為:

1:通過SQL進行備份

此時的SQL又分為預存程序,以及遠端調用

 

預存程序參考如下文章,已經是比較全面的了,除了有個限制,想要在MASTER下,建立各種函數外,其它的比較簡單

http://blog.csdn.net/zjcxc/archive/2003/12/29/20074.aspx

 

2:遠端執行SQL進行備份的,其實和備份資料檔案到異地 是一樣的幾步,只不過備份的時候,遠端共用資料夾改成本地的而已

遠端的有4步:

1)開啟遠端共用資料夾

     net share ShareForder=c:/AppDataBackup

2)SQL 執行SQL SERVER的擴充過程,訪問遠端共用資料夾,建立共用信用關係

      master..xp_cmdshell 'net use //10.10.50.212/ShareForder UserPassword /user:DomainName/UserName'

3)備份資料庫檔案到遠端共用資料夾

      backup database PNC1 to disk='//10.10.50.212/ShareForder/Database.bak'

4)關閉和刪除共用資料夾

     net share ShareForder /delete

 

具體實現參考

http://www.cnblogs.com/oletan/archive/2009/01/06/1370175.html

 

這裡的實現我也測試過,不知道為什麼就是無法訪問共用資料夾,可能是公司域或者防火牆造成的吧,而我的需求是備份到伺服器本地,於是將共用資料夾改成本地的,就實現了。

 

3:通過SQLDMO實現

     首先要引用SQLDMO的DLL,動態連結程式庫,然後使用他來備份遠端資料庫,備份檔案位於伺服器上

      開發這個實現的時候遇到個問題就是,由於我的備份檔案還比較小,備份的進度條沒有任何提示,懷疑是程式出了問題,後來查了下,才知道大家都有遇到過類似問題,需要檔案大於多少的,以及機器效能差的時候進度條才會顯示,看來機器效能好在微軟的眼中未必是好事情。微軟看來還是喜歡586之類的效能。

      後面又找了個能夠顯示進度條的其它方式實現了,實現了備份和恢複。在實現恢複的時候會先殺掉串連到伺服器上的所有其它進程,應用程式備份完之後再次串連會拋出一個錯誤,需要重新與伺服器建立串連便可。這是想要注意的地方,其它的比較簡單。

     

      附件裡的是我做測試的各種例子,以及用SQL實現各種資料庫操作的一個案例,都集中的放在一起了,還有就是加解密連接字串的樣本,免得大家去找例子了,至於文章GOOGLE下就大把的出來了。

 

:http://download.csdn.net/source/3112211

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.