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

ADO.NET 数据库备份等操作的更多相关文章

  1. 用C#对ADO.NET数据库完成简单操作

    数据库访问是程序中应用最普遍的部分.随着C#和ADO.NET的引入,这种操作变得更简单.这篇文章将示范四种最基础的数据库操作. ● 读取数据.其中包括多种数据类型:整型,字符串,日期型. ● 写数据. ...

  2. ADO对SQL Server 2008数据库的基础操作

    最近在学习ADO与数据库的相关知识,现在我将自己学到的东西整理写出来,也算是对学习的一种复习. 这篇文章主要说明如何遍历某台机器上所有的数据库服务,遍历某个服务中所有的数据库,遍历数据库中的所有表以及 ...

  3. SQLSERVER数据库备份操作和还原操作做了什么

    SQLSERVER数据库备份操作和还原操作做了什么 看了这篇文章:还原/备份时做了些什么 自己也测试了一下,下面说的错误日志指的是SQLSERVER ERRORLOG 一般在C:\Program Fi ...

  4. Delphi通过ADO链接数据库及对数据库的增加,删除,修改,读取操作实例教程4

    ADO是一种程序对象,用于表示用户数据库中的数据结构和所包含的数据.ADO(ActiveXDataObjects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关 ...

  5. oracle--序列&视图&索引&视图&可视化操作&分页&数据库备份

    --oracle学习内容--oracle的管理系统学习--oracle的数据管理学习--oracle的用户管理--oracle二维表管理--oracle的其他知识 --oracle的序列.视图.索引 ...

  6. sql操作数据库(2)--->DQL、数据库备份和还原

    查询 查询表中的所有的行和列的数据 ​ select * from 表名; ​ select * from student; 查询指定列的数据:如果有多个列,中间用逗号隔开. select 列名1,列 ...

  7. backup1:开始数据库备份

    数据库备份分为数据文件备份和日志文件备份,数据文件的备份分为:完整备份和差异备份.在SQL Server 2012中,能够将数据分布式备份到不同的存储设备上,一般情况,只将数据备份到一个备份文件(.b ...

  8. Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...

  9. SQL Server 数据库备份还原和数据恢复

      认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据 ...

随机推荐

  1. 网络爬虫之scrapy爬取某招聘网手机APP发布信息

    1 引言 过段时间要开始找新工作了,爬取一些岗位信息来分析一下吧.目前主流的招聘网站包括前程无忧.智联.BOSS直聘.拉勾等等.有段时间时间没爬取手机APP了,这次写一个爬虫爬取前程无忧手机APP岗位 ...

  2. flask-include标签使用标签

      [footer.html] <footer> 这是底部 </footer> [header.html] <style> .nav ul{ overflow: h ...

  3. [BZOJ3451][Tyvj1953]Normal(点分治+FFT)

    https://www.cnblogs.com/GXZlegend/p/8611948.html #include<cmath> #include<cstdio> #inclu ...

  4. JVM笔记(一)数字在JVM中的表示

    数字在JVM中的表示 一.整数在JVM中的表示 1.在Java虚拟机中,整数有四种表示: byte:8位        short:16位     int:32位     long:64位 2.原码. ...

  5. C++学习笔记44:继承与派生

    类的组合,类的继承 类的组合(汽车类,轮子类,此时可以把轮子类组合到汽车类:) 类的继承(交通工具类,汽车类,此时汽车类可以派生自交通工具类:) 组合:常用描述has a.. 继承:常用描述is a ...

  6. failed to load class "org.sl4j.impl.StaticLoggerBinder"

    (1)要确保有properties文件在你的主项目的src下面 (2)https://www.slf4j.org/codes.html(这个是配置相关文件) (3)如果经过1.2步后问题依然存在,那么 ...

  7. MIRUO面试题

    1.c#可以继承string类吗?2.接口可以实现接口吗?抽象类可以实现接口吗?抽象类可以实现实体类吗?3.用C#计算2.5的3次方的方法.4.什么是协同程序?5.GC是什么,如何减少内存,如何加快性 ...

  8. android: 碎片的demo

    现在你已经将关于碎片的重要知识点都掌握得差不多了,不过在灵活运用方面可能还有 些欠缺,因此又该进入我们本章的最佳实践环节了. 前面有提到过,碎片很多时候都是在平板开发当中使用的,主要是为了解决屏幕空间 ...

  9. SharePoint Online 自定义Modern UI表单

    前言 用过SharePoint Online 版本的朋友们,应该很熟悉SharePoint为我们带来的Modern UI,而这个页面的订制,也跟原来的表单定制方式不同了,而且更加简单了. 而且,试了一 ...

  10. 奇怪吸引子---Hadley

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...