ADO.NET 数据库备份等操作
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 数据库备份等操作的更多相关文章
- 用C#对ADO.NET数据库完成简单操作
数据库访问是程序中应用最普遍的部分.随着C#和ADO.NET的引入,这种操作变得更简单.这篇文章将示范四种最基础的数据库操作. ● 读取数据.其中包括多种数据类型:整型,字符串,日期型. ● 写数据. ...
- ADO对SQL Server 2008数据库的基础操作
最近在学习ADO与数据库的相关知识,现在我将自己学到的东西整理写出来,也算是对学习的一种复习. 这篇文章主要说明如何遍历某台机器上所有的数据库服务,遍历某个服务中所有的数据库,遍历数据库中的所有表以及 ...
- SQLSERVER数据库备份操作和还原操作做了什么
SQLSERVER数据库备份操作和还原操作做了什么 看了这篇文章:还原/备份时做了些什么 自己也测试了一下,下面说的错误日志指的是SQLSERVER ERRORLOG 一般在C:\Program Fi ...
- Delphi通过ADO链接数据库及对数据库的增加,删除,修改,读取操作实例教程4
ADO是一种程序对象,用于表示用户数据库中的数据结构和所包含的数据.ADO(ActiveXDataObjects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关 ...
- oracle--序列&视图&索引&视图&可视化操作&分页&数据库备份
--oracle学习内容--oracle的管理系统学习--oracle的数据管理学习--oracle的用户管理--oracle二维表管理--oracle的其他知识 --oracle的序列.视图.索引 ...
- sql操作数据库(2)--->DQL、数据库备份和还原
查询 查询表中的所有的行和列的数据 select * from 表名; select * from student; 查询指定列的数据:如果有多个列,中间用逗号隔开. select 列名1,列 ...
- backup1:开始数据库备份
数据库备份分为数据文件备份和日志文件备份,数据文件的备份分为:完整备份和差异备份.在SQL Server 2012中,能够将数据分布式备份到不同的存储设备上,一般情况,只将数据备份到一个备份文件(.b ...
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- SQL Server 数据库备份还原和数据恢复
认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据 ...
随机推荐
- Javascript实现对象的继承
在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼.压个啥样,就得是个啥样,不能随便动,动一动就坏了.而在Javascript中,没有模子,月饼被换成了面 ...
- 潭州课堂25班:Ph201805201 redis第四课 (课堂笔记)
redis支持丰富的数据类型, 是个非关系型数据库.以键值对存储,存在内存里, : string. 字符 list. 列表 set. 集合 zset(sorted set). 有序集合 hash ...
- Struts2返回json数据xml中配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-/ ...
- [Python] 抓取时光网的电影列表并生成网页
抓取时光网的电影列表并生成网页 源码 https://github.com/YouXianMing/BeautifulSoup4-WebCralwer 分析 利用BeautifulSoup进行分析网页 ...
- Mybatis Dynamic Query 更新
文章目录 1. 简介 2. 准备工作 3. 开始更新 3.1. update 3.2. update Null 4. 结束 5. 关注@我 项目地址:https://github.com/wz2coo ...
- Java:大文件拆分工具
java大文件拆分工具(过滤掉表头) import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- android highcharts 柱状图例子
android提供achartengine api 只能做简单的,如果是复杂的图表,个人的想法结合highcharts来完成:减小工作量,官方提供的例子也非常丰富. 通过android webview ...
- 基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)
目录 1 准备工作 2 具体实施 1 准备工作 什么是Redis? Redis:一个高性能的key-value数据库.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使 ...
- !HDU 1574 RP-dp-(重点在状态确定)
题意:有n件事.每件事若发生有两种情况.添加RP为a,可是收益会降低c:降低R为a,收益会添加c. 每件事可以发生的前提是小于等于或者大于等于门限值b.求最大收益. 分析:这题我没找到状态,所以就不会 ...
- spring事务心得积累
一.使用事务 1.spring配置文件里开启事务注解机制 <!-- 开启事务注解机制 --> <bean id="transactionManager" clas ...