日志备份和差异备份还原中的常见问题示例(转自&邹建)
--创建测试
CREATE
DATABASE
db
GO
--正常备份
BACKUP
DATABASE
db
TO
DISK=
'c:\1.bak'
WITH
FORMAT
BACKUP LOG db
TO
DISK=
'c:\2.bak'
WITH
FORMAT
BACKUP LOG db
TO
DISK=
'c:\3.bak'
WITH
FORMAT
BACKUP
DATABASE
db
TO
DISK=
'c:\4.bak'
WITH
FORMAT
BACKUP
DATABASE
db
TO
DISK=
'c:\5.bak'
WITH
FORMAT,DIFFERENTIAL
BACKUP LOG db
TO
DISK=
'c:\6.bak'
WITH
FORMAT
GO
--下面是用于日志备份和差异备份还原中易犯的错误
--1. 恢复时使用错误的日志顺序
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
RESTORE
DATABASE
db
FROM
DISK=
'c:\1.bak'
WITH
NORECOVERY
RESTORE LOG db
FROM
DISK=
'c:\3.bak'
/*
--收到信息
服务器: 消息 4305,级别 16,状态 1,行 5
此备份集中的日志开始于 LSN 6000000002800001,该 LSN 太晚,无法应用到数据库。包含 LSN 6000000002500001 的较早的日志备份可以还原。
--*/
GO
--2. 恢复时,将日志备份应用于错误的完全备份
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
RESTORE
DATABASE
db
FROM
DISK=
'c:\4.bak'
WITH
NORECOVERY
RESTORE LOG db
FROM
DISK=
'c:\2.bak'
/*
--收到错误信息
服务器: 消息 4326,级别 16,状态 1,行 5
此备份集中的日志终止于 LSN 6000000002800001,该 LSN 太早,无法应用到数据库。包含 LSN 6000000003000001 的较新的日志备份可以还原。
--*/
GO
--3. 将日志备份用于RESTORE DATABASE
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
RESTORE
DATABASE
db
FROM
DISK=
'c:\2.bak'
WITH
NORECOVERY
/*
--收到错误信息
服务器: 消息 3135,级别 16,状态 2,行 4
文件
'c:\2.bak'
中的备份集是由 BACKUP LOG 创建的,无法用于此还原操作。
--*/
GO
--4. 将差异备份用于RESTORE LOG
IF DB_ID(
'db'
)
IS
NOT
NULL
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
RESTORE
DATABASE
db
FROM
DISK=
'c:\4.bak'
WITH
NORECOVERY
RESTORE LOG db
FROM
DISK=
'c:\5.bak'
/*
--收到错误信息
服务器: 消息 3135,级别 16,状态 2,行 3
文件
'c:\5.bak'
中的备份集是由 BACKUP
DATABASE
WITH
DIFFERENTIAL 创建的,无法用于此还原操作。
--*/
GO
--5. 将差异备份用于RESTORE LOG
IF DB_ID(
'db'
)
IS
NOT
NULL
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
RESTORE
DATABASE
db
FROM
DISK=
'c:\4.bak'
WITH
NORECOVERY
RESTORE LOG db
FROM
DISK=
'c:\5.bak'
/*
--收到错误信息
服务器: 消息 3135,级别 16,状态 2,行 3
文件
'c:\5.bak'
中的备份集是由 BACKUP
DATABASE
WITH
DIFFERENTIAL 创建的,无法用于此还原操作。
--*/
GO
--6. 将差异备份用于错误的完全备份中
IF DB_ID(
'db'
)
IS
NOT
NULL
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
RESTORE
DATABASE
db
FROM
DISK=
'c:\1.bak'
WITH
NORECOVERY
RESTORE
DATABASE
db
FROM
DISK=
'c:\5.bak'
/*
--收到错误信息
服务器: 消息 3136,级别 16,状态 1,行 3
无法将设备
'c:\5.bak'
上的备份应用于数据库
'db'
。
--*/
GO
--7. 直接使用日志备份或者差异备份还原
IF DB_ID(
'db'
)
IS
NOT
NULL
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
RESTORE
DATABASE
db
FROM
DISK=
'c:\5.bak'
RESTORE LOG db
FROM
DISK=
'c:\2.bak'
/*
--收到错误信息
服务器: 消息 913,级别 16,状态 8,行 3
未能找到 ID 为 65535 的数据库。可能该数据库尚未激活,也可能正在转换过程中。
--*/
GO
--8. 还原完全备份时,未使用NORECOVERY,导致不能正确还原日志备份或者差异备份
IF DB_ID(
'db'
)
IS
NOT
NULL
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
RESTORE
DATABASE
db
FROM
DISK=
'c:\1.bak'
RESTORE LOG db
FROM
DISK=
'c:\2.bak'
/*
--收到错误信息
服务器: 消息 4306,级别 16,状态 1,行 4
先前的还原操作未指定
WITH
NORECOVERY 或
WITH
STANDBY。请在除最后步骤之外的所有其他步骤中指定
WITH
NORECOVERY 或
WITH
STANDBY 后,重新启动该还原序列。
--*/
GO
--删除测试
IF DB_ID(
'db'
)
IS
NOT
NULL
DROP
DATABASE
db
日志备份和差异备份还原中的常见问题示例(转自&邹建)的更多相关文章
- Sql server 2008 的完成备份和差异备份还原
当数据库数据量不大的情况下用 Sqlserver 的完全备份就完全可以了 步骤为: 1.在需要还原的数据库上右键选择如图 2.在“常规”选项中点击“源设备”选取磁盘上备份好的.bak文件后,勾上“还原 ...
- SQL Server 2012完全备份、差异备份、事务日志备份和还原操作;
SQL Server 2012完全备份.差异备份.事务日志备份和还原操作: 1.首先,建立一个测试数据库,TestA:添加一张表,录入二条数据:备份操作这里我就不详细截图和讲解了.相信大家都会备份,我 ...
- sqlserver2008r2还原完整备份和差异备份及自动删除过期备份
本文主要内容: 还原完整和差异备份 删除超过1个月的备份 注:保证SQL Server代理服务启动,并把服务设置为自动启动 完整备份和差异备份还原原理: 差异备份是完整备份的补充,只备份上次完整备份后 ...
- sql server 数据库备份,完整备份,差异备份,自动备份说明
Sql server 设置完整备份,差异备份说明 在数据库管理器中,选择要备份的数据库,右键找到“备份” 然后可以按照备份的方式进行备份. 关于文件的还原,作以下补充说明: 步骤为: 1.在需要还原的 ...
- 阿里云 如何减少备份使用量? mysql数据库的完整备份、差异备份、增量备份
RDS for MySQL备份.SQL审计容量相关问题_MYSQL使用_技术运维问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/knowledge_detail/4 ...
- SQL Server 2000中的完整备份、差异备份操作
在SQL Server 2000中,假定我们拥有一个数据库为:Test, 现在需要它每天19:00自动进行一次备份,并且以后一旦发生数据库错误,我们都可以通过备份文件将数据库恢复到任何一个备份过的时刻 ...
- sqlserver全备份,差异备份和日志备份
差异备份是以上一个全备为基点,这个期间所有差异数据的备份. 日志备份是基于前一个全备+日志备份为基点,这个期间的事务日志的备份.(日志备份用于确保还原数据库到某个时间点) 在利用全备+日志备份 ...
- sql server 完整备份、差异备份、事务日志备份
一. 理解: 完整备份为基础, 完整备份可以实物回滚还原,但是由于完整备份文件过大,对硬盘空间比较浪费这是就需要差异备份 或者 事务日志备份. 差异备份还原时,只能还原到备份的那个点, 日志备份还原时 ...
- Oracle Rman 增量备份与差异备份
一.增量与差异 关于Incremental增量备份级别: Oracle 9i 共有五种级别 0 1 2 3 4,0级最高-4级最低,0级是1级的基础以此类推. Oracle 10g官方文档明确指出增量 ...
随机推荐
- c# asp.net 鼠标改变控件坐标位置,更改控件坐标,注册表保存读取,打印,查找局域网内打印机等等收集
界面虽然被我弄的很难看,但功能还可以 里边注册表的路径自己设置一下,或者加一个创建注册表的语句,不然会报错 前台: <%@ Page Language="C#" AutoEv ...
- Codeforces Beta Round #13 E. Holes 分块暴力
E. Holes Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/13/problem/E Des ...
- EasyUI基础入门之Pagination(分页)
前言 对于一些企业级的应用来说(非站点),页面上最为基本的内容也就是表格和form了.对于类似于ERP这类系统来说数据记录比較大,前端表格展示的时候必需得实现分页功能了.恰巧EasyUI就提供了分页组 ...
- WCF和WPF读取xml的路径问题
使用WCF编写服务,涉及到xml的读取,使用了System.AppDomain.CurrentDomain.BaseDirectory来获取路径,获得的是项目的基目录 例如: string path ...
- 使用NIO提升性能
NIO是New I/O的简称,与旧式的基于流的I/O方法相对,从名字看,它表示新的一套Java I/O标准. 具有以下特性: 传统Java IO,它是阻塞的,低效的.那么Java NIO和传统Java ...
- 自己编写的.sh脚本文件运行完闪退解决方案
gnome-terminal设置如下图: 直接原因是,“命令退出时:退出终端”造成的!! 解决方案如下: 1. Ctrl + Alt + F1 ,进入文本操作模式: 2. 登录后,执行:yum ins ...
- Plugin with data access
In this tutorial I'll be using the nopCommerce plugin architecture to implement a product view track ...
- 遍历List remove方法,雨露均沾
/** * 要求:去掉List中为 0 的元素 */ //创建数组和空List Integer[] ars = {1,0,0,0,5,0,8,9,0,0,0,65,3,0,0}; List<In ...
- android图片特效处理之模糊效果
这篇将讲到图片特效处理的模糊效果.跟前面一样是对像素点进行处理,算法是通用的,但耗时会更长,至于为什么,看了下面的代码你就会明白. 算法: 一.简单算法:将像素点周围八个点包括自身一共九个点的RGB值 ...
- AJAX全套
AJAX概述 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 Java ...