数据备份 准备写一个数据备份程序,对数据有选择的进行备份,有谁有好的思路分享下. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先添加对sqldmo.dll的引用,位置在C:\Program Files\Microsoft SQL Server\80\Tools\Binn目录下,然后在程序中加入using SQLDMO;引用注意(SQLDOM必须运行在SQL Server SP2或以上版本)//备份数据库private void BeginBackUp(string FileName,string uid,string pwd){string Path =FileName; //实例化SQLDMO的各个对象 SQLDMO.Backup backup = new SQLDMO.BackupClass(); SQLDMO.SQLServer server = new SQLDMO.SQLServerClass(); try { //设置安全验证 server.LoginSecure=false; //设置连接数据库 server.Connect("(local)",uid,pwd); backup.Action=0; //方法绑定 SQLDMO.BackupSink_PercentCompleteEventHandler percent = new SQLDMO.BackupSink_PercentCompleteEventHandler(ShowProcessBar); backup.PercentComplete +=percent; //设置备份的数据库 backup.Database="LibraryClass"; //设置备份文件名 backup.BackupSetName="LibraryClassbackup"; //设置备份文件描述 backup.BackupSetDescription="BackUp"; Path = Path + backup.BackupSetName.ToString() ; //设置存储路径 backup.Files=@Path; backup.Initialize=true; //设置备份服务器--与server关联 backup.SQLBackup(server); MessageBox.Show("备份成功!"); catch(Exception ex) { MessageBox.Show("备份失败,请检查!" +"\n" + ex.Message.ToString() ); } finally { //释放对象 server.DisConnect(); server=null; backup=null; }}private void ShowProcessBar(string message,int percent) { //显示进度条 this.pbProcess.Value=percent; }//还原数据库//实例SQLDMO还原对象private void RealeaseBD(string FileName,string uid,string pwd){ SQLDMO.Restore restore = new SQLDMO.RestoreClass(); SQLDMO.SQLServer server = new SQLDMO.SQLServerClass(); try { server.LoginSecure=false; //设置连接数据库 server.Connect("(local)",uid,pwd); //触发还原数据库方法 SQLDMO.RestoreSink_PercentCompleteEventHandler percent = new SQLDMO.RestoreSink_PercentCompleteEventHandler(Show); restore.PercentComplete +=percent; restore.Action =SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database; //设置需还原的数据库 restore.Database="LibraryClass"; //备份文件存放路径 restore.Files=FileName restore.ReplaceDatabase=true; restore.FileNumber=1; //设置还原服务器 restore.SQLRestore(server); MessageBox.Show("还原成功!"); } //异常处理 catch(Exception ex) { MessageBox.Show("还原数据库出错" + "\n" + ex.Message); } //释放对象 finally { server.DisConnect(); restore=null; server=null; }} private void Show(string Message,int percent) { this.pBarProcess.Value=percent; } 使用存储过程备份数据库http://topic.csdn.net/u/20100316/12/8209efb2-f1e5-490c-8978-ff8e1ef3a27b.html 下载的 c# 农历类怎么使用? 内置对象Response的一点疑惑以及lambda表达式和表达式树的问题。 请教!! .net framework和CLR的区别 一个关于重载构造器的问题 c#问题! DataGrid的问题,请教 我朋友建的网站,老是被攻击,为什么? 想做一个类似图象编辑器的东西,那个网格是什么东西,急!!!!!!!!!!! winform中splitContainer的splitterWidth问题 关于窗口拉动大小 C# 如何开发左边是类似工具箱控件图标,然后可以拖放到右边区域创建相关控件
注意(SQLDOM必须运行在SQL Server SP2或以上版本)
//备份数据库
private void BeginBackUp(string FileName,string uid,string pwd)
{string Path =FileName;
//实例化SQLDMO的各个对象
SQLDMO.Backup backup = new SQLDMO.BackupClass();
SQLDMO.SQLServer server = new SQLDMO.SQLServerClass(); try
{
//设置安全验证
server.LoginSecure=false;
//设置连接数据库
server.Connect("(local)",uid,pwd);
backup.Action=0; //方法绑定
SQLDMO.BackupSink_PercentCompleteEventHandler percent = new SQLDMO.BackupSink_PercentCompleteEventHandler(ShowProcessBar);
backup.PercentComplete +=percent;
//设置备份的数据库
backup.Database="LibraryClass";
//设置备份文件名
backup.BackupSetName="LibraryClassbackup";
//设置备份文件描述
backup.BackupSetDescription="BackUp";
Path = Path + backup.BackupSetName.ToString() ;
//设置存储路径
backup.Files=@Path;
backup.Initialize=true;
//设置备份服务器--与server关联
backup.SQLBackup(server); MessageBox.Show("备份成功!");
catch(Exception ex)
{
MessageBox.Show("备份失败,请检查!" +"\n" + ex.Message.ToString() );
}
finally
{
//释放对象
server.DisConnect();
server=null;
backup=null;
}
}
private void ShowProcessBar(string message,int percent)
{
//显示进度条
this.pbProcess.Value=percent;
}//还原数据库
//实例SQLDMO还原对象
private void RealeaseBD(string FileName,string uid,string pwd)
{
SQLDMO.Restore restore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer server = new SQLDMO.SQLServerClass();
try
{
server.LoginSecure=false; //设置连接数据库
server.Connect("(local)",uid,pwd);
//触发还原数据库方法
SQLDMO.RestoreSink_PercentCompleteEventHandler percent = new SQLDMO.RestoreSink_PercentCompleteEventHandler(Show);
restore.PercentComplete +=percent; restore.Action =SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database; //设置需还原的数据库
restore.Database="LibraryClass";
//备份文件存放路径
restore.Files=FileName
restore.ReplaceDatabase=true;
restore.FileNumber=1;
//设置还原服务器
restore.SQLRestore(server);
MessageBox.Show("还原成功!");
}
//异常处理
catch(Exception ex)
{
MessageBox.Show("还原数据库出错" + "\n" + ex.Message);
}
//释放对象
finally
{
server.DisConnect();
restore=null;
server=null;
}
}
private void Show(string Message,int percent)
{
this.pBarProcess.Value=percent;
}
http://topic.csdn.net/u/20100316/12/8209efb2-f1e5-490c-8978-ff8e1ef3a27b.html