数据库备份和恢复秩序的关系(周围环境:Microsoft SQL Server 2008 R2)
让我们来看看在备份序列新手
--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)的更多相关文章
- Microsoft SQL Server 2008 R2数据库备份 - 人工备份
业务介绍 数据库人工备份是指由相关管理人员通过主动的手工方式备份数据库文件.在一些特殊的时间节点,如重要资料的录入完成.软硬件环境更新前等需要特别关注数据库安全的时候,一定要进行数据库的人工备份,以保 ...
- SQL Server 2008 R2 开启数据库远程连接
今天要测试一个.net系统~因为配置的数据库是SQL Server~我就不得不安装SQL Server 2008 R2~现在我们就一起来看看SQL Server 2008 R2是如何打开远程连接端口1 ...
- SQL Server 2008 R2数据库镜像部署
概述 “数据库镜像”是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中.建议使用不同位置的两台服务器来承载.在 ...
- SQL Server 2008 R2数据库镜像部署图文教程
数据库镜像是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中 概述 “数据库镜像”是一种针对数据库高可用性的基 ...
- SQL Server 2008 R2 清空数据库中ldf日志文件
/************************************************************ * Sql Server 2008 R2 清空数据库中ldf日志文件 * 将 ...
- 利用SQL Server 2008 R2创建自动备份计划
本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...
- Sql server 2008 R2 实现远程异地备份
1. 环境: a)两台同样的Sql Server 2008 R2 服务器 b)操作系统都是windows 2008 c)需要将102.108.0.1数据库MSGC远程备份到112.118.0.2的服务 ...
- SQL Server 2008 R2 主从数据库同步
一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2 DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...
- SQL Server 2008 R2 主从数据库同步设置
一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2 DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...
随机推荐
- com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException idea 导出war 报错
com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException 部署到in ...
- mybatis 与 反射
Mybatis是个优秀的ORM框架,所以它的反射层一定不会让我们失望 图比较大,可以开新页面查看 可以看到,Mybatis对这一块抽象的比较复杂,我们可以看到有几个比较主要的部分:Reflector. ...
- web_api vs2015 新加标题无法打开
HomeController 去掉特性[Authorize]
- 《第一行代码》学习笔记39-服务Service(6)
1.Android中定时任务一般有两种实现方式:(1)使用Java API里提供的Timer类:(2)使用Android的Alarm机制. 但是,Timer类有个明显的短板,不太适用于那些需要长期在后 ...
- 解决MacOS Terminal打开慢的问题
用了Mac有一段时间了,突然发现Terminal打开奇慢,每次打开都显示logining...,打开大概要个五六秒的时间,以前打开都是瞬间打开的啊,这对于我们这种追求速度的程序员怎么受的了呢.开始一直 ...
- 你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句
4.2 条件选择语句 “老师,我这次四级考试过了没有?” 如果老师被问到这个问题,他会如何回答?是的,他会根据不同的条件选择不同的回答: 如果考试成绩大于等于60,那就回答:“恭喜你,你通过了这次考 ...
- Linux Shell脚本入门--(linux空设备文件和重定向)>/dev/null 2>&1
linux空设备文件和重定向 输出/输入重导向 > >> < << :> &> 2&> 2< ...
- jQuery1.9(辅助函数)学习之——.serialize();
$("form").serialize(); 返回一个String 描述: 将用作提交的表单元素的值编译成字符串,这个方法不接受任何参数. .serialize(); 方法使用标 ...
- 《图解CSS3》——笔记(二)
作者:大漠 勘误:http://www.w3cplus.com/book-comment.html 2014年7月15日15:58:11 第二章 CSS3选择器 2.1 认识CSS选择器 2.1. ...
- C语言初学 比较三个数中最大值的问题
#include<stdio.h> #include<math.h> main() { int x,y,n,m ,z; scanf("%d%d%d",&am ...