让我们来看看在备份序列新手

--1、塔建环境(生成测试数据和备份文件)

/*
測试环境:
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
*/
USE master
go
--创建測试
CREATE DATABASE db
GO USE db
GO
CREATE TABLE Test(ID INT); --生成备份文件 0.bak
BACKUP DATABASE db TO DISK='d:\0.bak' WITH FORMAT
GO
--1
INSERT test SELECT 1
go
--生成备份文件 1.trn
BACKUP LOG db TO DISK='d:\1.trn' WITH FORMAT
go
--2
INSERT test SELECT 2
go
--生成备份文件 2.trn
BACKUP LOG db TO DISK='d:\2.trn' WITH FORMAT
go
--3
INSERT test SELECT 3
go
--生成备份文件 3.dif
BACKUP DATABASE db TO DISK='d:\3.dif' WITH FORMAT,DIFFERENTIAL
go
--4
INSERT test SELECT 4
go
--生成备份文件 4.trn
BACKUP LOG db TO DISK='d:\4.trn' WITH FORMAT
--5
INSERT test SELECT 5
go
--生成备份文件 5.dif
BACKUP DATABASE db TO DISK='d:\5.dif' WITH FORMAT,DIFFERENTIAL
--6
INSERT test SELECT 6 --生成备份文件 6.trn
BACKUP LOG db TO DISK='d:\6.trn' WITH FORMAT --7
INSERT test SELECT 7 --生成备份文件 7.trn
BACKUP LOG db TO DISK='d:\7.trn' WITH FORMAT GO
--
SELECT * FROM dbo.Test
/*
ID
1
2
3
4
5
6
7
*/

2、查看备份文件关系

SELECT  a.database_name
,CASE a.type
WHEN 'D' THEN 'full'
WHEN 'I' THEN 'differential'
WHEN 'L' THEN 'log'
WHEN 'F' THEN 'file / filegroup'
WHEN 'G' THEN 'differential file'
WHEN 'P' THEN 'partial'
WHEN 'Q' THEN 'differential partial'
END AS [type] --备份类型。 能够是:D = 数据库 I = 差异数据库 L = 日志 F = 文件或文件组 G = 差异文件 P = 部分 Q = 差异部分 能够为 NULL。
,b.physical_device_name
,a.first_lsn
,a.last_lsn
,a.differential_base_lsn
FROM msdb.dbo.backupset a
INNER JOIN msdb.dbo.backupmediafamily b ON a.media_set_id = b.media_set_id
WHERE a.database_name = 'db'
ORDER BY a.backup_start_date
,b.family_sequence_number

3、还原顺序

USE master
go
--1. 恢复时使用错误的日志顺序
--1.1
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE; --查看
SELECT * FROM db.dbo.Test
/*
ID
*/
go
--1.2
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE LOG db FROM DISK='d:\1.trn' --查看
SELECT * FROM db.dbo.Test
/*
ID
1
*/
go
--1.3
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE LOG db FROM DISK='d:\1.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\2.trn'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
*/
go
--1.4
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE DATABASE db FROM DISK='d:\3.dif'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
3
*/
go
--1.5
--1.5.1
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE DATABASE db FROM DISK='d:\3.dif' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\4.trn'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
3
4
*/
GO
--1.5.2
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE DATABASE db FROM DISK='d:\1.trn' WITH NORECOVERY
RESTORE DATABASE db FROM DISK='d:\2.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\4.trn'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
3
4
*/
go
--1.6
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE DATABASE db FROM DISK='d:\5.dif'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
3
4
5
*/
go
--1.7
--1.7.1
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE DATABASE db FROM DISK='d:\5.dif' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\6.trn'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
3
4
5
6
*/
go
--1.7.2
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE LOG db FROM DISK='d:\1.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\2.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\4.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\6.trn'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
3
4
5
6
*/
go
--1.8
--1.8.1
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE DATABASE db FROM DISK='d:\5.dif' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\6.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\7.trn'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
3
4
5
6
7
*/
go
--1.8.2
RESTORE DATABASE db FROM DISK='d:\0.bak' WITH REPLACE,NORECOVERY
RESTORE LOG db FROM DISK='d:\1.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\2.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\4.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\6.trn' WITH NORECOVERY
RESTORE LOG db FROM DISK='d:\7.trn'
--查看
SELECT * FROM db.dbo.Test
/*
ID
1
2
3
4
5
6
7
*/

版权声明:本文博主原创文章,博客,未经同意不得转载。

数据库备份和恢复秩序的关系(周围环境:Microsoft SQL Server 2008 R2)的更多相关文章

  1. Microsoft SQL Server 2008 R2数据库备份 - 人工备份

    业务介绍 数据库人工备份是指由相关管理人员通过主动的手工方式备份数据库文件.在一些特殊的时间节点,如重要资料的录入完成.软硬件环境更新前等需要特别关注数据库安全的时候,一定要进行数据库的人工备份,以保 ...

  2. SQL Server 2008 R2 开启数据库远程连接

    今天要测试一个.net系统~因为配置的数据库是SQL Server~我就不得不安装SQL Server 2008 R2~现在我们就一起来看看SQL Server 2008 R2是如何打开远程连接端口1 ...

  3. SQL Server 2008 R2数据库镜像部署

    概述 “数据库镜像”是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中.建议使用不同位置的两台服务器来承载.在 ...

  4. SQL Server 2008 R2数据库镜像部署图文教程

    数据库镜像是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中 概述 “数据库镜像”是一种针对数据库高可用性的基 ...

  5. SQL Server 2008 R2 清空数据库中ldf日志文件

    /************************************************************ * Sql Server 2008 R2 清空数据库中ldf日志文件 * 将 ...

  6. 利用SQL Server 2008 R2创建自动备份计划

    本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...

  7. Sql server 2008 R2 实现远程异地备份

    1. 环境: a)两台同样的Sql Server 2008 R2 服务器 b)操作系统都是windows 2008 c)需要将102.108.0.1数据库MSGC远程备份到112.118.0.2的服务 ...

  8. SQL Server 2008 R2 主从数据库同步

    一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2    DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...

  9. SQL Server 2008 R2 主从数据库同步设置

    一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2    DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...

随机推荐

  1. QT中关于窗口全屏显示与退出全屏的实现

    近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一些关于这方面的答案,希望能给大家一些帮助. 首先,在QT中对于窗口显示常用的有这么几个方法可以调用: Qt全屏显示 ...

  2. DefaultResouceLoader的设计

    它是什么 DefaultResourceLoader是Spring中的ResourceLoader的默认实现类,也是AbstractApplicationContext的父类,它也可以单独使用,用来从 ...

  3. [转]getResource()和getResourceAsStream以及路径问题

    原文链接:http://blog.sina.com.cn/s/blog_4b5bc0110100g22w.html 用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉 ...

  4. 初探R语言——R语言笔记

    R语言使用 <-  赋值 # 作为注释符号 c()函数用于作为向量赋值,例如age<-c(1,2,3,4,5) mean()用于求向量的平均值 sd()求向量的标准差 cor(a,b)求a ...

  5. OD: Shellcode / Exploit & DLL Trampolining

    看到第五章了. 标题中 Dll Tramplining(跳板)名字是从如下地址找到的,写的很好: http://en.wikipedia.org/wiki/Buffer_overflow#The_ju ...

  6. OD: Exploit Me - Overwrite Nearby Varible

    实验代码: #include<stdio.h> #include<string.h> #define PASSWORD "1234567" int veri ...

  7. (转)Jquery弹窗插件Lhgdialog的用法

    Lhgdialog的用法 大家都知道用js可以实现,但是在使用js实现的弹窗时得考虑很东西:浏览器的兼容.页面的交互等等问题. 在这里简单介绍一下lhgdialog的用法. 参数有: Title:弹窗 ...

  8. MySql多条SQL语句的批量处理

    pstmt= conn.prepareStatement(sql); for(int i=0;i<500;i++) { //准备sql语句 pstmt.setString(1, "tt ...

  9. linux 进程备忘

    进程间同步互斥方式: 1.管道pipe(亲属进程适用),命名管道fifopipe 2.信号量 3.共享内存配合信号量

  10. 【原创】Freak3D printer 的Repetier-Host 的设置

    软件版本号:Repetier-Host 版本号 1.6.1 操作系统: win10 x64 专业版 3d打印机: Freak3D: 1. freak3D的相关参数(通过freak3D的官方打印文件得到 ...