现在的位置: 首页 > 综合 > 正文

SQLSERVER备份和对日志的处理

2017年07月25日 ⁄ 综合 ⁄ 共 1810字 ⁄ 字号 评论关闭

在网上看到许多关于数据日志文件太大如何处理的问题,也看到了许多不合实际的做法,也有人因为错误的操作但是没有日志而急得焦头烂额,
其实数据库的日志文件是记录数据库 UPDATE,DELETE 操作的踪迹,也是当数据库发生意外(如黑客攻击,系统数据库发生破坏破坏等)时我们能够让数据库恢复至特定时刻的保证,
所以它很重要!!我们应该对数据库进行日志备份!
我们现在来分析一下数据库故障的种类:
一:事务内部的故障
也就是我们不能够保证事务的一致性状态,举个例子来说,您有两个银行帐户,由于某种原因,您现在需要从一个银行帐户上取出100万存到另一个银行帐户上,
但是由于银行数据库的故障,您的一个银行帐户确实少了100万,但是另一个帐户没有相应的增加100万,您现在会怎么做:( 当然我们可以在相应事务中加入ROLLBACK来强抽回滚
二:系统故障(软件故障-SOFT CRASH)
系统故障是指造成系统停止运转的任何事件,舍不得系统要重新启动.如特定类型的硬件故障(CPU故障),操作系统故障,DBMS代码故障,突然停电等,这类故障影响正在运行的事务,
但是不破坏数据库.这时所有内存的数据全部丢失,所有事务非正常终止,一些没有完成的事务的结果可能已经送给了物理数据库,从而数据库中的数据处于不正确状态,为保证数据的一致
性,需要清除这些事务对数据库的篡改!
这时系统重新启动后,对所有已经提交的事务REDO,对所有非正常终于的事务UNDO来强行撤消所有未完成的事务!
三:介质故障(硬件故障--HARD CRASH)
这是一种外存故障,如磁盘损坏,磁头碰撞,瞬时强磁场干扰等.这类故障可能性最小,但是破坏性最大.
四:计算机病毒
上述故障数据库进行恢复的原理十分简单,就是两个字"冗余"现在我们就说一下如何建立"冗余"技术!

备份
我们现在来看一下SQL SERVER 的备份技术,所有数据库的备份目的都是一样的,SQL SERVER也一样,防止数据丢失!
本章主要包括下面几个方面的内容:
1.在SQL SERVER 中我们可以设置数据库的恢复模型为完全恢复模型,大容量插入模型和简单模型,
2.什么时候需要我们进行数据库的备份
3,有几种数据库备份方法
4.0,演示几种备份方法(用备份前的准备工作)
5.几种备份策略
上面的的内容可以在BOOK ON LINE 里找到非常好的答复,如果需要,我再写:)
练习:example:

0.首先要有一个完全备份(不然的话您是不能够成功的备份日志文件的:) )呵呵
backup database Northwind
to nwbakup1,nwbakup2
with init
--查看备份信息
RESTORE FILELISTONLY FROM nwbakup1,nwbakup2
也可以在企业管理器中SQL服务器-Northwind-右键-所有任务-备份数据库, 然后在图形界面下进行相应的操作,这是非常简单的

1.use northwind
insert employees(lastname,firstname) values('aaa','aaa')
delete from employees where lastname='aaa'
记下这时的时间
23:33
2.过3分钟输入
use northwind
insert employees(lastname,firstname) values('bbb','bbb')

3.此时select * from employees 将能看到这两条记录

4.进行日志备份,选中northwind数据库,所有任务,backup database
在对话框中,选择事务日志备份为备份类型,选择已有的备份设备,和追加到媒体
单击ok进行备份.这样生成了两个新纪录的日志备份
backup log Northwind to nwlogbakup

5.以下演示恢复
所有任务 restore database
对话框中选择时点还原,输入刚才记录的时间,单击ok恢复
restore database Northwind
from nwbakup1,nwbakup2
with norecovery

use Northwind
服务器: 消息 927,级别 14,状态 2,行 1
无法打开数据库 'Northwind'。该数据库正处于还原操作中途。
这是因为我们指定了选项" with norecovery"

6.现在恢复事务日志至23:35
restore log Northwind
from nwlogbakup
with recovery,
stopat=

抱歉!评论已关闭.