什么是快照

数据库快照是SQL server 2005的一个新功能。给出的定义如下

数据库快照是数据库的只读静态视图。在创建时每个数据库快照在事务上都与源数据库一致。在创建数据库快照时,源数据库通常会有打开的事务。在快照可以使用之前,打开的事务会回滚以使数据库快照在事务上取得一致。

reg:

UseMASTER;GO

CREATE DATABASE [Snapshot_Test] ON PRIMARY( NAME= N 'Snapshot_Test', --数据库名称

FILENAME = N 'C:\Program Files \Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\Snapshot_Test.mdf',--数据文件存放位置及数据文件名称

SIZE =3072KB ,--初始容量

MAXSIZE =UNLIMITED,--最大容量

FILEGROWTH =1024KB--增长容量

)LOG ON( NAME= N'Snaphot_Test_log',

FILENAME= N 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\Snapshot_Test_log.ldf',

SIZE=504KB ,

MAXSIZE=UNLIMITED,

FILEGROWTH= 10%)

COLLATE=Chinese_PRC_CI_ASGO

EXEC dbo.sp_dbcmptlevel @dbname=N'Snapshot_Test', @new_cmptlevel=130

GO

USE [Snapshot_Test]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[test]([id] [int] NOT NULL,[name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL)ON [PRIMARY]

GO

View Code

也可以直接在SSMS里通过图形化界面创建测试数据库,在创建完数据库后,又新建了一个test表

reg:

usesnapshot_Test;go

INSERT INTO TEST (id,name)values(1,'hello 1');INSERT INTO TEST (id,name)values(2,'hello 2');INSERT INTO TEST (id,name)values(3,'hello 3');INSERT INTO TEST (id,name)values(4,'hello 4');GO

SELECT * FROM dbo.test;

结果:

id

name

1

1

hello 1

2

2

hello 2

3

3

hello 3

4

4

hello 4

现在做测试。先做个快照,语法也是CREATE DATABASEY。

reg:

create database Snapshot_Test_shot ON(--是源数据库的逻辑名

NAME=Snapshot_Test,--快照文件地址

FileName= ‘D:\SqlDate\Snapshot_Test_shot.ss')

AS SNAPSHOT OF Snapshot_Test;

结果:数据库快照是只读的的。可以通过sql server的对象浏览器查看可以通过USE(快照库名)来查询数据库快照。

代码如下

useSnapshot_Test_shot;go

SELECT * FROM dbo.test;

结果:

id

name

1

hello 1

2

hello 2

3

hello 3

4

hello 4

下边做测试。先删除后利用快照恢复

useSnapshot_Test;go

DELETE FROM dbo.test;

View Code

结果:

id

name

恢复

RESTORE DATABASE DB_NAMEFORM DATABASE_SNAPSHOT= 'DB_SNAPSHOT_NAME'

---

RESTORE DATABASESnapshot_testFROM DATABASE_SNAPSHOT = 'Snapshot_test_shot'

--查询

useSnapshot_Test;go

SELECT * FROM test

View Code

结果:

id

name

1

hello 1

2

hello 2

3

hello 3

4

hello 4

小提示:快照是只读的,一旦创建不能修改

快照只能恢复数据库,不能恢复指定的表

为防止误删,必须在数据插入或更新到数据库之后再创建快照,否则在插入或更新之前创建快照,插入或更新的数据被删除也无法恢复

一般与定时一起使用,可以定时创建不同的快照防止数据丢失

删除快照

DROP DATABASE Snapshot_Test_shot

View Code

结果:没有文件,证明被删除

应用场景:在MSDN中如下

维护历史数据已生成报表

使用了可以实现可用性目标而维护的镜像数据库

使数据免收管理失误所带来的影响

使数据免受用户失误带来的影响

恢复 mysql 快照_SQL如何使用快照恢复之前的数据相关推荐

  1. mysql数据库recover_xxx数据库恢复 mariadb数据库误删除恢复 mysql数据库被黑删库恢复

    6月 mysql数据库被删库的太多了, 如果你也遇到了这个问题,那就保护好原始环境 不要尝试恢复了,赶紧联系专业人士处理. 这种删库后,实际的数据库表数据文件 还存在磁盘 只是文件簇链接被破坏,所以看 ...

  2. 创建mysql数据库快照_sql语句大全之创建数据库快照

    创建数据库快照 数据库快照是源数据库的只读.静态视图.一个源数据库可以有多个数据库快照.数据库快照的主要作用是:维护历史数据以用于制作各种报表,可以使用数据库快照将出现错误的源数据库恢复到创建快照时的 ...

  3. [MySQL Reference Manual] 7 备份和恢复

    7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7. 备 ...

  4. mysql zrm 配置_利用MySQL-zrm来备份和恢复MySQL数据库方法详解

    MySQL ZRM 工具是用PERL写的可以全部和增量备份MySQL数据库的一个强大工具. 还可以做快照,不过我现在没有条件做.等以后有可以做了再补上. 其实具体要说的也没啥,我只是做了点测试. 这里 ...

  5. 用MySQL-zrm来备份和恢复MySQL数据库

    MySQL ZRM 工具是用PERL写的可以全部和增量备份MySQL数据库的一个强大工具. 还可以做快照,不过我现在没有条件做.等以后有可以做了再补上. 其实具体要说的也没啥,我只是做了点测试. 这里 ...

  6. MySQL的备份、还原及恢复

    备份.还原及恢复 直接复制数据库目录进行物理备份(冷备)及还原 mysqldump逻辑备份及恢复 利用逻辑卷快照备份及恢复 利用xtrabackup进行数据库备份及恢复 直接复制数据库目录进行物理备份 ...

  7. MySQL基于mysqldump及lvmsnapshot备份恢复

    一.备份对象 数据 配置文件 代码:存储过程,存储函数,触发器 跟复制相关的配置 二进制日志文件 二.备份工具 mysqldump:逻辑备份工具 InnoDB热备.MyISAM温备.Aria温备 备份 ...

  8. 如何在K8S上备份和恢复MySQL

    如何在K8S上备份和恢复MySQL 越来越多的生产系统和关键应用运行在K8S上.在生产系统运行有状态应用,并不是一件容易的事情,它需要我们仔细的计划并部署.我们之前有一篇文章专门介绍如何在K8S上运行 ...

  9. Xtrabackup备份、还原、恢复Mysql操作大全

    环境:CentOS 6.7  + Mysql 5.7.19 + Xtraback 2.4.8 innobackupex常用参数: --user=USER 指定备份用户,不指定的话为当前系统用户 --p ...

最新文章

  1. jq鼠标移入移除事件
  2. LeetCode 1245. 树的直径(图的最大直径结论)
  3. 男女择偶基本心理类型
  4. 苹果又出新专利?全包围屏幕iPhone
  5. stat在python中_stat模块接口
  6. creator图片循环显示_Cocos creator 游戏背景循环滚动--Javascript编写
  7. brew源码安装mysql_mac使用brew安装mysql
  8. andriod搭建自己的轮询框架
  9. 4.测试用例模板(p2p)
  10. 文章中如何将章节分页——段前分页
  11. PaddleNLP基于ERNIR3.0文本分类以CAIL2018-SMALL数据集罪名预测任务为例【多标签】
  12. 守望先锋:源氏跑酷之球图制作分享
  13. 电脑计算机 回收站隐藏文件,怎么隐藏电脑桌面回收站
  14. MFC之学习扇形绘制与绘制阴阳鱼图
  15. 牛客练习赛47 B:DongDong认亲戚 (并查集)
  16. 2022软件测试常见抓包工具
  17. 月入万元的自由程序员 (转电脑报)
  18. android 左右切换对话框 dialog
  19. 新华社客户端文章:区块链金融:新蓝海还是新挑战
  20. ubuntu使用docker搭建xss挑战之旅环境

热门文章

  1. moco挡板制作及运行成功<搬代码>
  2. pgsql中的常用函数总结
  3. Minimal Square
  4. shell脚本实战:个人网站V1版本脚本案例
  5. 工作3年,竟然还有人不知道使用MyBatis的这4个技巧?
  6. 一周的第一天是星期日还是星期一?
  7. 众安尊享e生·新全保通2017成人精选版60岁以后续保的保费清单
  8. 实战:Vue全家桶+SSR+Koa2实现美团网
  9. iis7 php 5.4,laravel 5.4如何在iis 7环境中安装
  10. c++ 结构体地址 转换成ulong_一个WinApi Hook程序(下)