如何远程备份sql server数据库
方法一(不使用SQLDMO):
/// 
///备份方法 
/// 
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;"); 
SqlCommand cmdBK = new SqlCommand(); 
cmdBK.CommandType = CommandType.Text; 
cmdBK.Connection = conn; 
cmdBK.CommandText = @"backup database test to disk='C:\ba' with init"; 
try 
{ 
conn.Open(); 
cmdBK.ExecuteNonQuery(); 
MessageBox.Show("Backup successed."); 
} 
catch(Exception ex) 
{ 
MessageBox.Show(ex.Message); 
} 
finally 
{ 
conn.Close(); 
conn.Dispose(); 
} 
/// 
///还原方法 
/// 
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;Trusted_Connection=False"); 
conn.Open(); 
//KILL DataBase Process 
SqlCommand cmd = new SqlCommand("SELECT 
spid FROM sysprocesses ,sysdatabases WHERE 
sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='test'", 
conn); 
SqlDataReader dr; 
dr = cmd.ExecuteReader(); 
ArrayList list = new ArrayList(); 
while(dr.Read()) 
{ 
list.Add(dr.GetInt16(0)); 
} 
dr.Close(); 
for(int i = 0; i < list.Count; i++) 
{ 
cmd = new SqlCommand(string.Format("KILL {0}", list[i]), conn); 
cmd.ExecuteNonQuery(); 
} 
SqlCommand cmdRT = new SqlCommand(); 
cmdRT.CommandType = CommandType.Text; 
cmdRT.Connection = conn; 
cmdRT.CommandText = @"restore database test from disk='C:\ba'"; 
try 
{ 
cmdRT.ExecuteNonQuery(); 
MessageBox.Show("Restore successed."); 
} 
catch(Exception ex) 
{ 
MessageBox.Show(ex.Message); 
} 
finally 
{ 
conn.Close(); 
} 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号