求助数据库备份的代码。
我想把SQL   数据库备份   起来。  
以便以后还原。  
请问   怎么用C#程序    
来备份     和   还原呢。  
   请大家多多指教   (要有具体代码     则更好!。)  
希望高手门   给予支持。
------解决方案--------------------
using   System; 
 using   System.Data; 
 using   System.Data.SqlClient;    
 namespace   bachupsqlserver 
 { 
         ///   <summary> 
         ///   备份和还原sql   server   2000数据库,在asp.net中文正式版和sql   server   2000系统上通过 
         ///   </summary> 
         public   class   BackupData 
         { 
                 private   SqlConnection   conn; 
                 public   BackupData() 
                 { 
                         // 
                         //   TODO:   在此处添加构造函数逻辑 
                         // 
                         string   sql="data   source=localhost;initial   catalog=master;password=;persist   security   info=True;user   id=sa;workstation   id=TOPS03496;packet   size=4096";//注意默认数据库不要和恢复的数据库同名    
                         init(sql); 
                 }    
                 ///   <summary> 
                 ///   备份数据库 
                 ///   </summary> 
                 ///   <param   name="databasename">要备份的数据源名称</param> 
                 ///   <param   name="backuptodatabase">备份到的数据库文件名称及路径</param> 
                 ///   <returns></returns> 
                 public   bool   BackUpDataBase(string   databasename,string   backuptodatabase) 
                 { 
                         string   procname; 
                         string   name=databasename+DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Date.Day.ToString()+DateTime.Now.Minute.ToString(); 
                         string   sql;    
                         conn.Open();                 //打开数据库连接    
                         //删除逻辑备份设备,但不会删掉备份的数据库文件 
                         procname="sp_dropdevice"; 
                         SqlCommand   sqlcmd1=new   SqlCommand(procname,conn); 
                         sqlcmd1.CommandType   =CommandType.StoredProcedure;    
                         SqlParameter   sqlpar=new   SqlParameter(); 
                         sqlpar=sqlcmd1.Parameters.Add("@logicalname",SqlDbType.VarChar,20); 
                         sqlpar.Direction   =ParameterDirection.Input; 
                         sqlpar.Value   =databasename;    
                         try                 //如果逻辑设备不存在,略去错误 
                         { 
                                 sqlcmd1.ExecuteNonQuery(); 
                         } 
                         catch 
                         { 
                         }    
                         //创建逻辑备份设备 
                         procname="sp_addumpdevice"; 
                         SqlCommand   sqlcmd2=new   SqlCommand(procname,conn); 
                         sqlcmd2.CommandType   =CommandType.StoredProcedure;    
                         sqlpar=sqlcmd2.Parameters.Add("@devtype",SqlDbType.VarChar,20); 
                         sqlpar.Direction   =ParameterDirection.Input; 
                         sqlpar.Value   ="disk";                             
                         sqlpar=sqlcmd2.Parameters.Add("@logicalname",SqlDbType.VarChar,20);//逻辑设备名 
                         sqlpar.Direction   =ParameterDirection.Input; 
                         sqlpar.Value   =databasename;    
                         sqlpar=sqlcmd2.Parameters.Add("@physicalname"