資料庫備份與還原

2021-05-02 03:40:26 字數 1704 閱讀 1238

在開發和資料庫有關的應用程式的時候,很多時候我們做的操作就是和資料庫打交道,而使用者最關心的也是資料,而一旦資料庫出現故障,我們事先又沒有做任何的預防措施,帶來的將會是災難性的錯誤。雖然資料庫本身提供備份和還原的功能,也可設定定期備份資料庫的操作,但是很多時候使用者並不知道怎樣操作,特別是還原。所以如果我們設計程式的時候,把資料庫的備份與還原放入到程式中,這將會為你的程式加分。

題外話:當我們把資料庫還原的功能放入程式中的時候,特別要注意的是許可權的控制。要不然都來還原資料庫,一旦出現問題,帶來的也是災難性的錯誤。很多時候,我們的程式出現了一些錯誤,只要通過修改資料就可以改正這個錯誤,如果客戶又不懂資料庫的操作,這就需要我們到現場去處理,如果客戶現場很遠,來去都要耗費時間,如果我們能在程式中提供乙個執行資料庫操作語句的功能介面,只需把資料庫操作語句發給客戶,然客戶自己在程式中執行,既方便又快捷。

資料庫的備份和還原實際上還是執行資料庫操作語句,所以並沒有什麼難點。

資料庫備份:

//strfile:資料庫備份路徑及檔名

//strdatabasename:資料庫名

private void backupsqlserver(string strfile,string strdatabasename)

catch (exception ex)

finally

}資料庫還原比較麻煩一點,首先要找到待還原的資料庫的各個使用程序,關閉後才可以還原。

//strfile:資料庫還原路徑及檔名

//strdatabasename:資料庫名

private void restoresqlserver(string strfile,string strdatabasename)

dr.close();

for (int i = 0; i < list.count; i++)

", list[i]), conn);

cmd.executenonquery();

}sqlcommand cmdrt = new sqlcommand();

cmdrt.commandtype = commandtype.text;

cmdrt.connection = conn;

cmdrt.commandtext = @"restore database " +strdatabasename + "  from disk='" + strfile+ "'";

trycatch (exception ex)

finally }

無論是備份還是還原資料庫我們操作的都是master資料庫。

以上說的是sql server的備份和還原,oracle資料庫的備份和還原比較簡單,主要是在程序裡面執行exp和imp的命令

資料庫備份:string strexp = "exp 資料庫使用者名稱/密碼@資料庫tns full=y log=  '日誌檔案路徑 ' file= '備份檔案路徑 '" 

資料庫還原:string stremp = "imp 資料庫使用者名稱/密碼@資料庫tns full=y file= '還原檔案路徑 '"

.net裡面開啟程序的一般過程:

processstartinfo psi = new processstartinfo("cmd");

process p = process.start(psi);

p.standardinput.writeline(strexp);

p.standardinput.writeline(@"exit");

資料庫備份與還原

還原,將資料恢復到備份時的狀態。保護資料記錄。myisam innodb bdbmemory archive 批量插入的速度高低 高高非常高事務安全 支援 支援 全文索引 支援5.5版本支援 鎖機制 表鎖行鎖 頁鎖表鎖 行鎖儲存限制 沒有64tb沒有有 沒有b樹索引 支援支援 支援支援 雜湊索引 支...

資料庫備份與還原

window to widows 資料庫備份與還原 步驟 pg dump.exe執行程式在postgresql資料庫安裝目錄 bin 目錄下,這是在windows下的檔名。執行過程如下 1 開啟windows下的命令視窗 開始 cmd 安裝資料庫的目錄 進入bin目錄 2 匯出命令 pg dump ...

備份還原 資料庫備份和還原

最近在搞封閉開發,有些東西基本上都忘記了,在網上重新搜尋了一下貼子,總結了一下檔案組備份和還原的一些東西 環境 microsoft corporation developer edition on windows nt 5.1 build 2600 service pack 3,v.5755 1 建...