public class SqlServerBackup
{
private string database;
private string server;
private string uid;
private string pwd; public string Database
{
get
{
return this.database;
}
set
{
this.database = value;
}
} public string Server
{
get
{
return this.server;
}
set
{
this.server = value;
}
} public string Pwd
{
get
{
return this.pwd;
}
set
{
this.pwd = value;
}
} public string Uid
{
get
{
return this.uid;
}
set
{
this.uid = value;
}
} public bool DbBackup(string url)
{
Backup oBackup = new BackupClass();
SQLServer oSQLServer = new SQLServerClass();
bool result;
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect(this.server, this.uid, this.pwd);
oBackup.Action = SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = this.database;
oBackup.Files = url;
oBackup.BackupSetName = this.database;
oBackup.BackupSetDescription = "数据库备份";
oBackup.Initialize = true;
oBackup.SQLBackup(oSQLServer);
result = true;
}
catch
{
result = false;
}
finally
{
oSQLServer.DisConnect();
}
return result;
} public bool DbRestore(string url)
{
bool result;
if (!this.exepro())
{
result = false;
}
else
{
Restore oRestore = new RestoreClass();
SQLServer oSQLServer = new SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect(this.server, this.uid, this.pwd);
oRestore.Action = SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database = this.database;
oRestore.Files = url;
oRestore.FileNumber = ;
oRestore.ReplaceDatabase = true;
oRestore.SQLRestore(oSQLServer);
result = true;
}
catch
{
result = false;
}
finally
{
oSQLServer.DisConnect();
}
}
return result;
} private bool exepro()
{
SqlConnection conn = new SqlConnection(string.Concat(new string[]
{
"server=",
this.server,
";uid=",
this.uid,
";pwd=",
this.pwd,
";database=master"
}));
SqlCommand cmd = new SqlCommand("killspid", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@dbname", this.database);
bool result;
try
{
conn.Open();
cmd.ExecuteNonQuery();
result = true;
}
catch
{
result = false;
}
finally
{
conn.Close();
}
return result;
}
}

只需引入Interop.SQLDMO.dll

最新文章

  1. String or binary data would be truncated 解决办法
  2. 手动创建Spring项目 Spring framework
  3. C#方法的参数
  4. Haproxy内网连接阿里云存储OSS后提供下载
  5. eclipse debug时老提示edit source lookup path解决方案
  6. CSS 外边距(margin)重叠及防止方法
  7. JAVA(int...i)问题
  8. 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
  9. OutputFormat中OutputCommitter解析
  10. tomcat 正常启动,无法访问。且项目启动无问题。。。的解决办法。。
  11. [算法]线段树(IntervalTree)
  12. 让自己的apk可以被别人用二维码下载
  13. For循环输出一个表格
  14. 如何免费使用jrebel 和eclipse 项目配合完成热部署功能
  15. 前端Blob对二进制流数据的处理方式
  16. Ubuntu和ROS一起愉快玩耍
  17. CMDB服务器管理系统【s5day89】:深入理解Java的接口和抽象类
  18. 2017年7月最新浏览器市场份额,IE8份额仅剩个位数
  19. CentOS 6.x下wget 下载提示 Unable to locally verify the issuer’s authority 完美解决方案
  20. [转]Twemproxy 介绍与使用

热门文章

  1. SpringMvc @ResponseBody
  2. 程序猿(媛)的葵花宝典-- 必备idea 插件plugins 提高编码效率
  3. java 测量运行时间 单位:毫秒
  4. 洛谷.3273.[SCOI2011]棘手的操作(左偏树)
  5. 解决boostrap中,iframe渲染下,苹果手机横向无法显示剩余内容问题
  6. 在web.xml中设置全局编码
  7. 树莓派.Qt.打包开发好的程序并运行的方法
  8. IIS远程发布(Web Deploy)
  9. unity 打包编译记录
  10. 一步一步开发sniffer(Winpcap+MFC)(五)莫道无人能识君,其实我懂你的心——解析数据包(转)