数据库备份和恢复秩序的关系(周围环境: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 ...
随机推荐
- C#中通过类来继承两个接口,父类实例化接口中的方法,子类继承父类,调用方法
实现了父类继承接口,父类实例化接口的方法,子类继承父类,子类调用父类的方法直接使用 代码如下: using System; using System.Collections.Generic; usin ...
- playframework简单介绍
官方网站: https://www.playframework.com/documentation/2.5.x/Home 简介 编辑 Play!是一个full-stack(全栈的)Java Web应用 ...
- ListView自定义滑动条
/** * 修改默认滑动条 */ private void SetSliderIcon() { try { Field f = AbsListView.class.getDeclaredField(& ...
- ORACLE查询数据库的锁表情况
查询数据库的锁表情况语句如下: SELECT p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_na ...
- 活动指示器UIActivityIndicatorView
活动指示器UIActivityIndicatorView可以告知用户有一个操作正在进行中 1.创建 UIActivityIndicatorView *activityIndicatorView ...
- C#System.Net.Mail采用简单邮件传输协议发送邮件
引用: using System.Net.Mail; public class EmailHelper { public static bool SendEmail(string title, str ...
- Fling!
算法:深搜 很不错的一道题!!! Fling is a kind of puzzle games available on phone. This game is played on a board ...
- Activity 模版样式简介
1:对话框样式. <activity android:theme="@android:style/Theme.Dialog"> 2:透明样式. <activity ...
- Touch事件
http://www.cnblogs.com/shawn-xie/archive/2012/12/07/2805582.html 前言 一个触屏网站到底和传统的pc端网站有什么区别呢,交互方式的改变首 ...
- QT下实现对Linux Shell调用的几种方法
使用QProcess QThread ============================================ #include <QProcess>int main(){ ...