我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#怎么备份及还原数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#怎么备份及还原数据库

本篇内容介绍了“C#怎么备份及还原数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

C#数据库备份及还原1.在用户的配置时,我们需要列出当前局域网内所有的数据库服务器,并且要列出指定服务器的所有数据库,实现代码如下:

取得数据库服务器列表:

public ArrayList GetServerList()   {   ArrayList alServers = new ArrayList() ;   SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass() ;   try   {   SQLDMO.NameList serverList = sqlApp.ListAvailableSQLServers() ;   for(int i = 1;i<= serverList.Count;i++)   {   alServers.Add(serverList.Item(i)) ;   }   }   catch(Exception e)   {   throw(new Exception("取数据库服务器列表出错:"+e.Message)) ;   }   finally   {   sqlApp.Quit() ;   }   return alServers ;   }    取得指定数据库服务器的数据库列表   public ArrayList GetDbList(string strServerName,string strUserName,string strPwd)   {   ServerName = strServerName ;   UserName = strUserName ;   Password = strPwd ;    ArrayList alDbs = new ArrayList() ;   SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass() ;   SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;   try   {   svr.Connect(ServerName,UserName,Password) ;   foreach(SQLDMO.Database db in svr.Databases)   {   if(db.Name!=null)   alDbs.Add(db.Name) ;   }   }   catch(Exception e)   {   throw(new Exception("连接数据库出错:"+e.Message)) ;   }   finally   {   svr.DisConnect() ;   sqlApp.Quit() ;   }   return alDbs ;   }

C#数据库备份及还原2.数据库的备份和实时进度显示代码:

public bool BackUPDB(string strDbName,string strFileName, ProgressBar pgbMain)   {   PBar = pgbMain ;   SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;   try   {   svr.Connect(ServerName,UserName,Password) ;   SQLDMO.Backup bak = new SQLDMO.BackupClass();   bak.Action = 0 ;   bak.Initialize = true ;   SQLDMO.BackupSink_PercentCompleteEventHandler pceh = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);   bak.PercentComplete += pceh;   bak.Files = strFileName;   bak.Database = strDbName;   bak.SQLBackup(svr);   return true ;   }   catch(Exception err)   {   throw(new Exception("备份数据库失败"+err.Message)) ;   }   finally   {   svr.DisConnect() ;   }   }    private void Step(string message,int percent)   {   PBar.Value = percent ;   }

其中,这两个语句实现了进度的实时显示:

SQLDMO.BackupSink_PercentCompleteEventHandler pceh = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);
bak.PercentComplete += pceh;

Step就是上面private void Step(string message,int percent) 的方法名称,它用来显示进度条的当前进度。

C#数据库备份及还原3.数据库的恢复和杀死进程的代码:

public bool RestoreDB(string strDbName,string strFileName, ProgressBar pgbMain)   {   PBar = pgbMain ;   SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;   try   {   svr.Connect(ServerName,UserName,Password) ;   SQLDMO.QueryResults qr = svr.EnumProcesses(-1) ;   int iColPIDNum = -1 ;   int iColDbName = -1 ;   for(int i=1;i<=qr.Columns;i++)   {   string strName = qr.get_ColumnName(i) ;   if (strName.ToUpper().Trim() == "SPID")   {   iColPIDNum = i ;   }   else if (strName.ToUpper().Trim() == "DBNAME")   {   iColDbName = i ;   }   if (iColPIDNum != -1 && iColDbName != -1)   break ;   }    for(int i=1;i<=qr.Rows;i++)   {   int lPID = qr.GetColumnLong(i,iColPIDNum) ;   string strDBName = qr.GetColumnString(i,iColDbName) ;   if (strDBName.ToUpper() == strDbName.ToUpper())   svr.KillProcess(lPID) ;   }    SQLDMO.Restore res = new SQLDMO.RestoreClass() ;   res.Action = 0 ;   SQLDMO.RestoreSink_PercentCompleteEventHandler pceh = new SQLDMO.RestoreSink_PercentCompleteEventHandler(Step);   res.PercentComplete += pceh;   res.Files = strFileName ;    res.Database = strDbName ;   res.ReplaceDatabase = true ;   res.SQLRestore(svr) ;   return true ;   }   catch(Exception err)   {   throw(new Exception("恢复数据库失败,请关闭所有和该数据库连接的程序!"+err.Message)) ;   }   finally   {   svr.DisConnect() ;   }   }

其中这个语句取得了所有的进程列表:

SQLDMO.QueryResults qr = svr.EnumProcesses(-1) ;

下面的语句找到和要恢复数据库相关的进程并杀死:

int iColPIDNum = -1 ;   int iColDbName = -1 ;   for(int i=1;i<=qr.Columns;i++)   {   string strName = qr.get_ColumnName(i) ;   if (strName.ToUpper().Trim() == "SPID")   {   iColPIDNum = i ;   }   else if (strName.ToUpper().Trim() == "DBNAME")   {   iColDbName = i ;   }   if (iColPIDNum != -1 && iColDbName != -1)   break ;   }    for(int i=1;i<=qr.Rows;i++)   {   int lPID = qr.GetColumnLong(i,iColPIDNum) ;   string strDBName = qr.GetColumnString(i,iColDbName) ;   if (strDBName.ToUpper() == strDbName.ToUpper())   svr.KillProcess(lPID) ;   }

“C#怎么备份及还原数据库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#怎么备份及还原数据库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#怎么备份及还原数据库

本篇内容介绍了“C#怎么备份及还原数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#数据库备份及还原1.在用户的配置时,我们需要列出当
2023-06-18

怎么备份和还原Cassandra数据库

备份和还原Cassandra数据库可以通过以下步骤实现:备份Cassandra数据库:使用nodetool命令创建备份:可以使用nodetool命令创建备份,例如使用以下命令创建备份:nodetool snapshot -t my_sn
怎么备份和还原Cassandra数据库
2024-03-11

【数据库】数据库备份与还原 Navicat Premium备份以及定时备份设置

✨数据库备份数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。为此数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进
【数据库】数据库备份与还原 Navicat Premium备份以及定时备份设置
2014-12-22

Oracle备份、还原数据库

备份数据库创建备份目录(用sys账号),若已创建备份目录,此步可忽略create directory db_bak as "D: ECIMS_DB"--查看创建的目录select * from dba_directories--删除已创建的目录drop dir
2018-09-04

MySQL数据备份及还原(一)

关于删库跑路的事故现在已经屡见不鲜了,数据备份的必要性是企业数据管理极其重要的一项工作。关于数据备份、恢复也有很多场景及方法,本系列也会将主要的几种工具通过案例进行演示。本系列将从逻辑备份及恢复开始讲起,逻辑备份的工具主要有mysqldump/mydumper
MySQL数据备份及还原(一)
2021-08-19

达梦数据库备份还原

备份还原    1 物理备份与还原    21、脱机备份与还原(冷备)    21.1、console工具备份    21.2、console工具还原与恢复    31.3、dmrman工具备份    51.4、dmrman工具还原恢复    52、联机备份与

	达梦数据库备份还原
2016-11-14

PostgreSQL 数据库备份与还原

PostgreSQL 数据库备份与还原目录备份还原栗子备份PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以远程或本地导出逻辑数据,恢复数据至导出时间点。Usage:pg_dump
PostgreSQL 数据库备份与还原
2015-11-20

mysql数据库备份和还原

备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表
2022-05-27

navicat premium怎么连接数据库备份还原

在 navicat premium 中连接数据库备份并还原数据:连接备份:在“连接”对话框中输入服务器信息、登录凭据,并在“数据库”字段选择备份文件。还原数据:右键单击目标数据库,选择“还原”,选择“从备份还原”并浏览备份文件。配置选项:指
navicat premium怎么连接数据库备份还原
2024-04-06

sqlserver数据库备份及还原的方法是什么

SQL Server数据库备份和还原的方法主要有以下几种:1. 使用SQL Server Management Studio (SSMS):在SSMS中,可以通过右键单击数据库,选择“任务”->“备份”来备份数据库,选择“任务”->“还原”
2023-10-18

03 SQL2005数据库备份和还原

1、数据库备份的意义硬件故障或误操作2、数据库的恢复模式(数据库属性——选项——恢复模式)完整:可恢复到数据库故障时间点或指定时间点大容量日志:数据库日志不记录对数据修改的时间,效率高,通过日志只能恢复到故障时间点简单:事务日志,将不活跃的日志文件覆盖重复利用

	03 SQL2005数据库备份和还原
2019-04-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录