C#實現Database Backup學習

來源:互聯網
上載者:User
因為公司的的資料庫比較多(但資料量很小),每個星期都要完全備份,以前就是一個庫挨著一個庫備份,sql server備份完了還有oracle,覺得很麻煩,這兩天用業餘時間做一個Database Backup工具,從網上查大部分都用的資料庫內建的定時作業進行備份,由於考慮到這個小工具將來可能交給客戶使用,需要融進我們自己的產品中,所以就想自己做一個小usercontrol,(我們主要是基於winform開發),分為oracle和sqlserver兩種,
oracle9i :先建立一個臨時的bat檔案,然後把執行指令碼寫入該檔案,然後在執行bat檔案,使用指令碼為
                 exp userid/pwd@servicename file = "backupfilepath" owner = user
                 注意userid為系統管理員,backupfilepath為檔案儲存路徑(檔案尾碼為dmp) ,user是針對那個用 戶進行 備份,如果不寫該參數,則預設針對userid使用者進行備份,對多個資料庫,多謝幾條exp語句,就可以了。
                   最後在bat檔案末尾加上exit,就是當執行完備份工作的時候自動結束dos視窗。
                    執行該檔案:
                   ProcessStartInfo psi = new ProcessStartInfo(batFilePath);
                    Process.Start(psi);
sql server 2000 :備份指令碼:backup database to disk = "filepath";sql server2000備份檔案尾碼為dat
                           把直接該備份指令碼當作一個普通sql語句拿到master資料庫中執
                           行即可。(在做這個測試的時候發現不能對sqlserver2000內建
                             的資料庫進行備份和恢複,這是個意外收穫)但是sql  server2000不能實現遠程備份,遺 憾,這個usercontrol還必須要放到 資料庫伺服器上執行。
目前僅僅完成一個備份功能,還沒有實現完全自動化,下一步考慮把添加定時器,做成一個windows托盤程式,好好偷把懶。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.