程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 動態備份SQL-SERVER數據庫——SQLDMO

動態備份SQL-SERVER數據庫——SQLDMO

編輯:關於SqlServer

google_ad_client = "pub-6430022987645146";google_ad_width = 160;google_ad_height = 600;google_ad_format = "160x600_as";google_cpa_choice = "CAEaCIxsmjE5mLWmUDRQHVAFUAdQLFAMUANQnQJQL1AU";google_color_border = "336699";google_color_bg = "FFFFFF";google_color_link = "0000FF";google_color_text = "000000";google_color_url = "008000";google_ad_clIEnt = "pub-6430022987645146";google_ad_slot = "6984174763";google_ad_width = 160;google_ad_height = 600;


var alimama_pid="mm_10096109_566393_892186"; var alimama_titlecolor="0000FF"; var alimama_descolor ="000000"; var alimama_bgcolor="FFFFFF"; var alimama_bordercolor="E6E6E6"; var alimama_linkcolor="008000"; var alimama_bottomcolor="FFFFFF"; var alimama_anglesize="0"; var alimama_bgpic="0"; var alimama_icon="0"; var alimama_sizecode="11"; var alimama_width=760; var alimama_height=90; var alimama_type=2;


大家最常見的是使用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;)
     ///<summary>
     /// 數據庫備份
/// 參數信息要備份的數據庫的名稱Backup .Database = "Northwind";
/// 另外一個是存放備份文件的路徑和文件名稱Backup .Files = @"c:\databak.bak";
     ///</summary>
&nbsp;   private   void   Button1_Click(object   sender,   system.EventArgs   e)  
      {
           SQLDMO.Backup Backup  = new SQLDMO.BackupClass();
           SQLDMO.SQLServer SQLServer = new SQLDMO.SQLServerClass();
         try
          {
               SQLServer.LoginSecure = false;
               SQLServer.Connect("IP", "USERNAME", "PWD");
               Backup .Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMBackup _Database;
               Backup .Database = "Northwind";//要備份的數據庫的名稱,例如Northwind
               Backup .Files = @"c:\databak.bak";//存放路徑,和備份文件的名稱
             &nbsp; Backup .BackupSetName = "Northwind";
               Backup .BackupSetDescription = "數據庫備份";
               Backup .Initialize = true;
               Backup .SQLBackup(SQLServer);
          }
         Catch(Exception ex) 
   ;       {
              Throw ex;
          }
          finally
          {
               SQLServer.DisConnect();
          }
      }
     ///<summary>
     /// 數據庫恢復
/// 參數信息要恢復的數據庫的名稱Restore .Database = "Northwind_Res";
/// 另外一個是存放數據庫備份文件的路徑和文件名稱
/// Backup .Files = @"c:\databak.bak";用來恢復數據庫 R>     ///</summary>
    private   void   Button2_Click(object   sender,   system.EventArgs   e)
      {
           SQLDMO.Restore Restore  = new SQLDMO.RestoreClass();
           SQLDMO.SQLServer SQLServer = new SQLDMO.SQLServerClass();
         try
          {
               SQLServer.LoginSecure = false;
               SQLServer.Connect("IP", "USERNAME", "PWD");
               Restore .Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMRestore _Database;
               Restore .Database = "Northwind_Res";
               Restore .Files = @"C:\ databak.bak";
               Restore .FileNumber = 1; <BR>               Restore .ReplaceDatabase = true;
               Restore .SQLRestore(SQLServer);
          }
         catch(Exception ex)
          {
              Throw ex;
          }
          finally
          {
               SQLServer.DisConnect();
          }
      }
}
其實這種方式是調用SQL-SERVER數據庫自帶的數據備份功能,這個功能是使用上面說過是兩個sql語句,只不過是形成了存儲過程的形式。在SQL-SERVER系統中有這兩個SQL命令生成的存儲過程,如下。
backup  [dbname]   to   disk=[路徑+文件名]
restore  [dbname]   from   disk=[路徑+文件名]
 

;
Google的搜索終於可以用了!大家試試! Google
var alimama_pid="mm_10096109_566393_892989"; var alimama_titlecolor="0000FF"; var alimama_descolor ="000000"; var alimama_bgcolor="FFFFFF"; var alimama_bordercolor="E6E6E6"; var alimama_linkcolor="008000"; var alimama_bottomcolor="FFFFFF"; var alimama_anglesize="0"; var alimama_bgpic="0"; var alimama_icon="

0"; var alimama_sizecode="11"; var alimama_width=760; var alimama_height=90; var alimama_type=2;


google_ad_clIEnt = "pub-6430022987645146";google_ad_slot = "7812729674";google_ad_width = 728;google_ad_height = 90;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved