C#备份mssql数据库

33 篇文章 0 订阅
C #备份mssql数据库  
/// 
///备份方法     C#备份SQL 
/// 
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(); 
}
sql server sqldmo_x86_x64,C#数据库备份还原很好用的.dll,里面有使用方法,引用Interop.SQLDMO.dll后的注意事项。 SQLDMO.dll是个好东西,ASP.NET利用它可以实现在线备份、还原数据库等各种功能。近日有客户要求为其在后台添加一个管理数据库的功能。于是就出现了这篇文章。 由于客户的数据库和WEB服务不再同一台服务器,当我们把网站部署在服务器上以后,运行程序,提示如下错误: Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154. 而客户又不想在这台电脑安装MSSQL,所以我们只需要在没有安装MSSQL的电脑上注册SQLDMO.DLL组件。 第一步:首先将msvcr71.dll, SQLDMO.DLL, Resources\2052\sqldmo.rll,Resources\1033\sqldmo.rll 拷贝到C:\Program Files\Microsoft SQL Server\80\Tools\Binn目录。 下载SQLDMO文件 第二步:打开开始,在运行中输入 regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll" 注册sqldmo.dll。 正常情况下,经过以上两个步骤,网页就应该可以访问了的。 但是我们经过以上两次操作后,访问网页依然提示如下错误: Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80070005.后经过一段时间的检查,我们发现C:\Program Files\文件夹仅有Administrator和System的控制权限,而没有其他任何用户的权限,因此我们为Microsoft SQL Server文件夹增加上Network Service 的读取权限。 至此,问题得到解决!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值