ADO.NET 数据库备份等操作
2024-10-15 12:44:00
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
最新文章
- String or binary data would be truncated 解决办法
- 手动创建Spring项目 Spring framework
- C#方法的参数
- Haproxy内网连接阿里云存储OSS后提供下载
- eclipse debug时老提示edit source lookup path解决方案
- CSS 外边距(margin)重叠及防止方法
- JAVA(int...i)问题
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
- OutputFormat中OutputCommitter解析
- tomcat 正常启动,无法访问。且项目启动无问题。。。的解决办法。。
- [算法]线段树(IntervalTree)
- 让自己的apk可以被别人用二维码下载
- For循环输出一个表格
- 如何免费使用jrebel 和eclipse 项目配合完成热部署功能
- 前端Blob对二进制流数据的处理方式
- Ubuntu和ROS一起愉快玩耍
- CMDB服务器管理系统【s5day89】:深入理解Java的接口和抽象类
- 2017年7月最新浏览器市场份额,IE8份额仅剩个位数
- CentOS 6.x下wget 下载提示 Unable to locally verify the issuer’s authority 完美解决方案
- [转]Twemproxy 介绍与使用
热门文章
- SpringMvc @ResponseBody
- 程序猿(媛)的葵花宝典-- 必备idea 插件plugins 提高编码效率
- java 测量运行时间 单位:毫秒
- 洛谷.3273.[SCOI2011]棘手的操作(左偏树)
- 解决boostrap中,iframe渲染下,苹果手机横向无法显示剩余内容问题
- 在web.xml中设置全局编码
- 树莓派.Qt.打包开发好的程序并运行的方法
- IIS远程发布(Web Deploy)
- unity 打包编译记录
- 一步一步开发sniffer(Winpcap+MFC)(五)莫道无人能识君,其实我懂你的心——解析数据包(转)