如何远程备份sql server数据库

本文详细介绍了使用SQL Server进行数据库备份和恢复的方法,包括不使用SQLDMO的备份过程和还原过程,确保数据安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一(不使用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(); 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值