SQL Server2000数据库的备份与还原

一、SQL Server2000数据库备份类型

1.SQL Server2000数据库备份可分为以下四种类型:



①.完全数据库备份

完全数据库备份包含了数据库所有数据和事务日志,它是数据库还原的基准。在进行差异备份和事务日志备份前应执行过完全数据库备份。在完全数据库备份前清除事务日志可以使得备份文件比较小。

②.差异数据库备份

差异数据库备份是备份从上一次完全数据库备份后数据库中更改的部分,执行差异备份的前提是已经执行了完全数据库备份。

③.事务日志备份

事务日志备份是备份从上一次成功执行BACKUP LOG语句之后到当前事务日志结尾的这段事务日志。备份事务日志可以记录数据库的更改,除非已执行了至少一次完全数据库备份,否则不应该备份事务日志。

④.文件和文件组备份

对超大型数据库执行完全数据库备份是不现实的,这时可以执行数据库文件或者文件组备份。

2.差异数据库备份和事务日志备份的区别:

差异数据库备份和事务日志备份都可以用于数据库还原,但他们还是有区别的:

①.起点不同:差异数据库备份总是以上一次完全数据库备份为起点,而事务日志备份是以上一次成功执行BACKUP LOG语句之处为起点;
②.还原方式:数据库还原时只需选择最近一次差异数据库备份即可,而用事务日志则需选择连续的多个事务日志备份;
③.数据历史:完全数据库备份后,如果数据库中的数据被修改了多次,那么差异数据库备份只包含最后一次修改的值,而事务日志则包含数据所有更新的历史记录;
④.还原特色:使用事务日志可以设置还原到某个时间点,而使用差异数据库备份还原不行;

二、SQL Server2000数据库恢复模型

SQL Server2000有3种数据库恢复模型,当服务器发生故障时,每种模型都能够维护数据,但是在还原数据的方法以及在磁盘发生故障时各自所需的存储量和性能方面,三者却有着很大的区别。



1.完全恢复模型

完全恢复模型使用数据库的拷贝和所有日志信息来还原数据库,SQL Server可以记录库的所有更改,包括大容量操作和创建索引,如果日志文件本身没有被损坏,则除了发生故障时正在进行的事务,SQL Server可以还原所有的数据。在这种模型下,可以进行完全数据库备份、差异数据库备份、事务日志备份和文件或文件组备份。

2.大容量日志记录恢复模型

与完全恢复模型相似,大容量日志记录恢复模型使用数据库和日志备份来重建一个数据库,然而,对于下列操作:Create INDEX、大容量装载操作(bcp和BULK Insert)、Select INTO、WRITETEXT和UpdateTEXT,大容量日志记录恢复模型只存储操作的最终结果,所以日志通常较小。在这种模型下,可以进行完全数据库备份、差异数据库备份、事务日志备份和文件或文件组备份。

3.简单恢复模型

简单恢复模型使用数据库的完全拷贝或者差异拷贝,但只能将数据库还原到最后一次备份的时间点的状态,在最后一次备份之后所做的全部更改将丢失。在这种模型下,不可以进行事务日志备份。

三、SQL Server2000数据库的备份与还原示例

1.SQL Server2000数据库备份

①.2012-01-02 18:57:在数据库中新建表并输入测试数据:
create table UserTB
(
    [Id] int identity(1,1) primary key,
    [Usn] nvarchar(20)
)

insert into UserTB([Usn]) values('zyq')
insert into UserTB([Usn]) values('dnawo')

②.2012-01-02 18:59:完全数据库备份:


③.2012-01-02 19:00:修改数据并做差异数据库备份:
update UserTB set [Usn]='zyq1' where [Id]=1



④.2012-01-02 19:01:修改数据:
update UserTB set [Usn]='zyq2' where [Id]=1

⑤.2012-01-02 19:03:修改数据并做事务日志备份:
update UserTB set [Usn]='zyq3' where [Id]=1



⑥.2012-01-02 19:04:修改数据并做差异数据库备份:
update UserTB set [Usn]='dnawo1' where [Id]=2



⑦.2012-01-02 19:05:修改数据:
update UserTB set [Usn]='dnawo2' where [Id]=2

⑧.2012-01-02 19:06:修改数据并做事务日志备份:
update UserTB set [Usn]='dnawo3' where [Id]=2



2.SQL Server2000数据库还原

①.使用差异数据库备份还原组合:

组合1:完全备份+差异备份1
组合2:完全备份+差异备份2



②.使用事务日志备份还原组合(可指定时间点):

组合1:完全备份+差异备份1+事务日志1
组合2:完全备份+差异备份2+事务日志2
组合3:完全备份+差异备份1+事务日志1+事务日志2



说明:还原后第二条记录[Usn]=dnawo2

评论: 0 | 引用: 0 | 查看次数: 4311
发表评论
登录后再发表评论!