客户端备份和恢复MSSQL Server数据库

2016-01-29 15:54 5 1 收藏

客户端备份和恢复MSSQL Server数据库,客户端备份和恢复MSSQL Server数据库

【 tulaoshi.com - SQLServer 】

摘要:本文以SQL SERVER为例,总结了常用的几种备份和恢复数据库的方法,分析了作业机制的原理,并提出了一种以作业机制实现恢复和备份数据库的方法。用户可以不打开数据库管理器,在应用程序客户端就可以方便地实现数据库的备份和恢复。

关键词: 备份 恢复 作业机制 数据库

1.概述

备份和恢复是数据库管理员维护数据库安全性和完整性的重要操作。备份是恢复数据库最容易和最能防止意外的保证方法。没有备份,所有的数据都可能会丢失。备份可以防止表和数据库遭受破坏、介质失效或用户错误而造成数据灾难。恢复是在意外发生后,利用备份来恢复数据库的操作。任何数据维护无论是基于C/S还是B/S的信息管理系统都必须具有备份和恢复数据库的功能。

作为强大数据库SQL SERVER的管理器ENTERPRISE MANAGER,其本身也提供了几种实现和恢复数据库的方法,但这几种方法实现起来,都需要用户对ENTERPRISE MANAGER相当熟悉,而且处理步骤较繁锁,操作起来容易发生失误。因此我们就需要一种更加简便可行的实现方法。

2.常用的备份和恢复数据库的方法

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

在SQL SERVER ENTERPRISE MANAGER是一种强大的管理工具,它能完成很多功能,备份和恢复数据库是其中的一项基本功能。归结起来,借助这个管理工具有三种常用的方法实现备份和恢复数据库。

⑴ 完全手工方式。在这种方式下,选择要备份和恢复的数据库,单击鼠标右键,在快捷菜单中的“ALL TASKS”下选择备份或者恢复数据库。这种方式,用户要进行很多步操作,其中要涉及到一些参数,使用起来容易出错,尤其对新手来讲,一旦操作失误可能带来很大的损失。

⑵ 半手工方式。这种方式就是管理员事先建立备份或者恢复数据库的作业,待到备份或者恢复数据库的时候,管理员打开“SQL SERVER ENTEPRISE MANAGER”,在“MANAGER”里找到相应的作业,然后执行之。这种方式,虽然是基于作业方式实现的,但是管理员必须打开数据库管理器,而且要在繁多的作业中进行选择。一旦选择错误并执行之,有可能带来意想不到的损失。

⑶ 全自动方式。在数据库管理器里面,管理员事先建立好恢复或者备份数据库的作业,然后定制一个执行计划,让计算机在特定的条件下自己执行备份和恢复操作。这种方式看起来简单、省事,但是机器在异常情况(如掉电)下,就不能按照计划执行了。

3.作业机制的工作原理

作业是ENTERPRISE MANAGER提供的一种定期处理数据的一种方法,前面提到的半手工方式和全自动方式虽然利用了作业,但它需要在ENTERPRISE MANAGER里启动和关闭作业;我们要讨论的是在应用程序客户端启动和关闭作业的机制。

作业机制的工作原理,由控制体和执行体两大部分构成。

控制体顾名思义就是控制作业执行的实体,靠具体编程实现。实现时,要调用MSDB数据库的系统存储过程SP_START _JOB,SP_END_JOB等等,同时要访问表SYSJOBHITORY,获取作业执行状态。

执行体就是作业执行的整体,应用系统投入使用时建立。应用系统安装时,要建立数据库、备份和恢复设备、备份和恢复作业。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

控制体由用户触发,启动相应的作业,交由执行体执行作业,在执行过程中,执行体执行的每一步状态信息都要写入MSDB数据库的SYSJOBHISTORY表里。同时,控制体不断获取执行状态信息,根据这些信息,控制体决定继续执行还是停止该作业。在作业执行完毕或者出错停止后,控制体向用户反馈执行结果。

4.以作业机制实现数据库的备份和恢复

为了便于解释我们以POWER BUILDER实现的一个具体系统为示例,首先看数据库备份的实现步骤。

4.1 执行体的建立

(1)建立应用系统的数据库XCCXXT。

(2)建立备份数据库所使用的设备XCCXXTBAK.DAT。

(3)建立备份作业XCCXXT BACKUP,其中命令行为BACKUP DATABASE XCCXXT TO DISK=“C:MSSQL7DATABACKUPXCCXXTBAK.DAT”。

4.2 控制体的实现

在相应对象的“备份”按钮的click事件中写入以下代码:

来源:https://www.tulaoshi.com/n/20160129/1496724.html

延伸阅读
机器A: select instance_name from v$instance; select name from v$database; select name from v$datafile; 查询日志模式: archive log list; shutdown immediate; startup mount; 把日志改为归档模式: alter database archivelog; alter database open; alter system archive log current; select name from v$archived_log; ...
mysqldump生成能够移植到其它机器的文本文件,甚至那些有不同硬件结构的机器上。直接拷贝文件不能移植到其它机器上,除非你正在拷贝的表使用MyISAM存储格式。ISAM表只能在相似的硬件结构的机器上拷贝。在MySQL 3.23中引入的MyISAM表存储格式解决了该问题,因为该格式是机器无关的,所以直接拷贝文件可以移植到具有不同硬件结构的机器上。只...
标签: SQLServer
关于系统数据库的恢复总结如下:   在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括:master-从整体上控制用户数据库和SQL Server操作,在创建了任何用户定义的对象后,都要备份它:    model-为新数据库提供模版和原型   msdb-包含了有关作业、报警及操作员等信息&nbs...
标签: SQLServer
if exists(  select * from sysobjects   where name='pr_backup_db' and xtype='p'  ) begin  drop proc pr_backup_db end go /*备份数据库*/ create proc pr_backup_db @flag varchar(10) out, @backup_db_name varchar(128), @filename varchar(1000)  --路径+文件名字 as declare @sql nvarchar(4000),@par nvar...
标签: ASP
       绪论          在ASP程序应用中经常有一个任务就是在一个分页格式中显示数据库的查询结果。比如,当处理大量的记录内容时,应该一次只显示10个项目,这样就会使访问者使用这些信息更容易些。网络上已经有许多文章示范了多种对数据库查询结果进行分页的方法,其中...

经验教程

827

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部