動態備份SQL SERVER資料庫 SQLDMO

2021-04-14 01:09:50 字數 2485 閱讀 9858

上週要寫乙個sql-server資料庫備份還原的程式,很沒有思路,只是記得上學的時候用過sql語句來完成資料庫的備份還原,其餘的方式還沒有嘗試過。經過資料查詢終於找到了解決方案,效果還不錯,於是寫下來一起分享。

大家最常見的是使用sql命令來進行資料庫備份,

最常用的sql語句如下:

backup  [dbname]   to   disk=[路徑+檔名]

restore  [dbname]   from   disk=[路徑+檔名]

另外可以使用sqldmo來實現資料庫備份的功能

sqldmo(sql distributed management objects,sql分布式管理物件)封裝 microsoft sql server 2000 資料庫中的物件。sql-dmo 允許用支援自動化或 com 的語言編寫應用程式,以管理 sql server 安裝的所有部分。sql-dmo 是 sql server 2000 中的 sql server 企業管理器所使用的應用程式介面 (api);因此使用 sql-dmo 的應用程式可以執行 sql server 企業管理器執行的所有功能。

在asp.net2005中要使用sqldmo.dll,首先要註冊這個元件。

註冊sqldmo.dll

元件的步驟:

1.「專案」——>「新增引用」——>「com」——>「sqldmo.dll」這樣就可以註冊sqldmo.dll元件。

2.把在c:/program files/microsoft sql server/80/tools/binn目錄下的動態鏈結庫sqldmo.dll檔案。

3. 把dll檔案持拷貝到c:/windows/system32目錄下

4. 在c:/windows/system32目錄下建立乙個新資料夾:resources,在裡面再建乙個新資料夾2052,然後把rll檔案拷貝到2052中.即放在c:/windows/system32/resources/2052目錄中

5.註冊:在開始》執行》(輸入)regsvr32 c:/program files/microsoft sql server/80/tools/binn/sqldmo.dll 回車。

註冊過sqldmo.dll元件後,在c#中使用這個元件來進行開發的方式有點不同。在c#

的web

程式中使用這個元件,要在「解決資源管理器」中新增上sqldmo.dll元件的引用。然後在專案的命名空間中新增「using sqldmo;」命名空間的引用,完成以上操作就可以在

web專案中使用這個元件了。

具體步驟:選中「解決資源管理器」的專案,右鍵,「新增引用」,然後在com選項中選擇sqldmo.dll元件進行新增。

在windows專案中就不需要這麼麻煩,只要完成sqldmo.dll元件的步驟的註冊步驟,直接在windows程式中可以新增此引用「

using sqldmo;」,就可以直接使用這個元件。

下面是用c#語言寫的備份和恢復microsoft sql server資料庫的實現方式:

sqldmo.dll

元件

在web程式中使用

sqldmo.dll

元件,要新增sqldmo.dll的引用;在

windows

專案中使用

sqldmo.dll

元件,註冊後直接新增

using sqldmo;)

////// 資料庫備份

/// 引數資訊要備份的資料庫的名稱backup .database = "northwind";

/// 另外乙個是存放備份檔案的路徑和檔名稱backup .files = @"c:/databak.bak";

///

private   void   button1_click(object   sender,   system.eventargs   e)  

catch(exception ex)

finally

} ////// 資料庫恢復

/// 引數資訊要恢復的資料庫的名稱

restore .database = "northwind_res";

/// 另外乙個是存放資料庫備份檔案的路徑和檔名稱

/// backup .files = @"c:/databak.bak";用來恢復資料庫

///

private   void   button2_click(object   sender,   system.eventargs   e)

catch(exception ex)

finally

} }

其實這種方式是呼叫sql-server資料庫自帶的資料備份功能,這個功能是使用上面說過是兩個sql語句,只不過是形成了儲存過程的形式。在sql-server系統中有這兩個sql命令生成的儲存過程,如下。

backup  [dbname]   to   disk=[路徑+

檔名]

restore  [dbname]   from   disk=[路徑+

檔名]

備份SQL Server資料庫

搬遷之後,備份資料庫的功能出錯了,原因是原來資料庫與 同一臺伺服器,現在是資料庫與 分別在不同伺服器,引起在備分時,找不到路徑或是沒有許可權儲存。最初版本的儲存過程 setansi nulls ongo setquoted identifier ongo alter procedure dbo us...

備份SQL Server資料庫

搬遷之後,備份資料庫的功能出錯了,原因是原來資料庫與 同一臺伺服器,現在是資料庫與 分別在不同伺服器,引起在備分時,找不到路徑或是沒有許可權儲存。最初版本的儲存過程 set ansi nulls ongo setquoted identifier ongo alter procedure dbo u...

SQL Server資料庫備份方法

資料庫備份,是在資料丟失的情況下,能及時恢復重要資料,防止資料丟失的一種重要手段。乙個合理的資料庫備份方案,應該能夠在資料丟失時 有效地恢復重要資料 同時需要考慮技術實現難度和有效地利用資源。資料庫備份有四種型別,分別應用於不同的場合,下面簡要介紹一下。1 完全備份 2 事務日誌備份 事務日誌是乙個...