- 浏览: 565002 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (237)
- Java (48)
- Flex3 (43)
- Spring (7)
- Hibernate (7)
- 杂文 (2)
- 设计模式 (3)
- 数据库相关 (32)
- Eclipse开发环境 (10)
- C/C++ (1)
- 随笔 (1)
- 生活点滴 (2)
- Flex4 (3)
- Oracle (6)
- SQLServer (6)
- Degrafa (1)
- ActionScript (2)
- JavaScript (11)
- MySQL (8)
- 开源项目 (4)
- AspectJ (0)
- Spring Security (1)
- SSO (0)
- PV3D (2)
- JBPM (1)
- JBoss (0)
- Tomcat (5)
- Struts (1)
- WebService (2)
- 算法 (1)
- 数据结构 (1)
- POI (2)
- Lucene (2)
- 其他 (3)
- Blazeds (2)
- Alternative 3D (0)
- Ibatis (3)
- Intellij (3)
- freemaker (0)
- Maven (5)
- web (4)
- Eclipse (1)
- velocity (1)
- Linux (7)
- CXF (3)
- html (2)
- JVM (1)
最新评论
-
jpsb:
多谢楼主,问题解决,主要就是svn版本不同导致的
Eclipse 导入本地svn项目的问题 -
yycdaizi:
lanmolsz 写道无法同意楼主的说法,楼主所谓的晚捕捉就是 ...
Java异常处理原则 -
lanmolsz:
无法同意楼主的说法,楼主所谓的晚捕捉就是典型的让异常控制程序的 ...
Java异常处理原则 -
cici_new_1987:
...
Java异常处理原则 -
雁行:
倒是怀疑这个功能来着
Eclipse 导入本地svn项目的问题
数据库快照,正如其名称所示那样,是数据库在某一时间点的视图。是SQL Server在2005之后的版本引入的特性。快照的应用场景比较多,但快照设计最开始的目的是为了报表服务。比如我需要出2011的资产负债表,这需要数据保持在2011年12月31日零点时的状态,则利用快照可以实现这一点。快照还可以和镜像结合来达到读写分离的目的。下面我们来看什么是快照。 数据库快照是 SQL Server 数据库(源数据库)的只读静态视图。换句话说,快照可以理解为一个只读的数据库。利用快照,可以提供如下好处: 与备份数据库复制整个数据库不同,快照并不复制整个数据库的页,而是仅仅复制在快照建立时间点之后改变的页。因此,当利用快照进行数据库恢复时,也仅仅将那些做出改变的页恢复到源数据库,这个速度无疑会大大高于备份和恢复方式。这个原理如图1所示(图摘自SQL Server 2008揭秘)。 图1.镜像的原理 由图1可以看出,快照并不是复制整个整个数据库,而仅仅利用快照存储原始页。因此可以看出,源数据库上建立快照会给IO增加额外负担.当对快照数据库进行查询时,快照时间点之后更改的数据会查询数据文件,。这个概念如图2所示(图摘自SQL Server 2008揭秘)。 图2.查询快照数据库时查询的分布 由上图中可以看出,快照数据库的文件是基于稀疏文件(Sparse File),稀疏文件是NTFS文件系统的一项特性。所谓的稀疏文件,是指文件中出现大量0的数据,这些数据对我们用处并不大,却一样占用着磁盘空间。因此NTFS对此进行了优化,利用算法将这个文件进行压缩。因此当稀疏文件被创建时,稀疏文件刚开始大小会很小(甚至是空文件),比如图3所示的文件就是一个稀疏文件。虽然逻辑上占了21M,但文件实际上占了128KB磁盘空间。 图3.一个稀疏文件 对于快照来说,除了通过快照数据库文件的属性来看快照的大小之外,也可以通过DMV来查看,如图4所示. 图4.通过DMV查看快照数据库大小 而当快照创建后,随着对源数据库的改变逐渐增多,稀疏文件也会慢慢增长,概念如图4所示。 图5.随着源数据库的更改越来越多,稀疏文件不断增长 所以,通常来说,当稀疏文件增长到源数据库文件大小的30%时,就应该考虑重建快照了。 而稀疏文件的写入是利用了微软的写入时复制技术(Copy-On-Writing),意思是在复制一个对象时并不是真正把对象复制到另一个位置,而是在新的对象中映射一个指针,指向原对象的位置。这样当对新对象执行读操作时,直接指向原对象。而在对新的对象执行写操作时,将改变部分对象的指针指向到新的地址中。并修改映射表到新的位置中。 使用快照存在诸多限制,由于列表太长(详细请参考MSDN:http://msdn.microsoft.com/zh-cn/library/ms175158.aspx#LimitationsRequirements),我只概括的说一下主要限制。 其实,虽然限制看上去很多,但只要明白快照的原理,自然能推测出快照应该有的限制。 无论是使用SSMS或是命令行,快照只能通过T-SQL语句创建。在创建数据库之前,首先要知道数据库分布在几个文件上,因为快照需要对每一个文件进行copy-on-writing。如图6所示。 图6.首先查出数据库的文件分布 根据图6的数据库分布,我们通过T-SQL创建快照,如图7所示。 图7,根据图6的数据库信息创建一个数据库快照 当快照数据库创建成功后,就可以像使用普通数据库一样使用快照数据库了,如图8所示。 图8.快照数据库和普通数据库一样使用 通过如下语句可以看到,快照数据库文件和源数据库的文件貌似并无区别,仅仅是快照数据库文件是稀疏文件,如图9所示。 图9.源数据库和快照数据库 而删除快照数据库和删除普通数据库并无二至,也仅仅是使用DROP语句,如图10所示。 图10.删除快照数据库 我们也可以利用快照恢复数据库,这个恢复速度要比普通的备份-恢复来的快得多,这也可以将数据库呈现给测试人员,当测试结束后,恢复数据库到测试之前的状态。如图11所示。 图11.利用快照恢复数据库 1.快照数据库的安全设置继承源数据库的安全设置。也就是说能访问源数据库的用户或角色也能访问快照数据库,当然,因为快照数据库是只读的,所以无论任何角色或人都无法修改快照数据库。 2.我们由文章前面图5看出,随着快照存在的时间越来越长,快照会不断增长。所以推荐在快照达到源数据库大小30%之前,重新创建快照。 3.由于快照会拖累数据库性能,所以数据库不宜存在过多快照。 本文简单讲述了数据库快照的概念,原理以及使用。数据库快照可以在很多场景下使用,无论是用于报表,还是和镜像配合提供负载,以及利用快照恢复数据库,使用得当的话,快照将会是一把利器。 本文转载自:http://www.cnblogs.com/CareySon/archive/2012/03/30/2424880.html简介
什么是快照
快照的原理
写入时复制(Copy On Writing)和稀疏文件(Sparse Flie)
使用快照的限制
快照的创建和使用
使用快照其他一些需要考虑的因素
总结
发表评论
-
【转载】8张图理解Java
2015-12-23 13:44 804一图胜千言,下面图解均来自Program Creek 网站 ... -
【转载】JAVA多线程与并发学习总结
2015-12-17 13:23 927本文转载自:http://www.cnblogs.co ... -
关于MAT分析工具中的Shallow heap & Retained heap
2015-11-26 10:58 1333本文转载自:http://bjyzxxds.iteye.c ... -
触发JVM进行Full GC的情况及应对策略
2015-11-10 14:10 3152转载自:http://blog.csdn.net/chen ... -
JVM内存参数详解以及配置调优
2015-10-26 20:21 833本文转载自:http://www ... -
[转载]在线数据迁移经验:如何为正在飞行的飞机更换引擎
2015-02-25 15:49 877转载自:http://www.infoq.c ... -
java.lang.OutOfMemoryError: unable to create new native thread问题诊断
2014-10-27 18:34 567转载自:http://www.blogjava.net/l ... -
JVM调优总结 -Xms -Xmx -Xmn -Xss
2014-10-14 09:28 772本文转载自:http://unixboy.iteye.co ... -
JVM参数分析
2014-01-26 19:54 1120转载自: http:// ... -
Java的getByte()方法解析
2014-01-17 13:28 1437转载自: http://bijian1013. ... -
httpClient处理乱码
2014-01-10 12:08 752利用HttpClient模拟Http请求访问页面 ... -
Tomcat 生产服务器性能优化
2013-11-13 19:45 847转载自:http://www.oschina.net/tra ... -
查询异常数据
2013-09-07 10:34 918系统在查询时报错,具体信息为varchar转换 ... -
SQL Server 特殊字符查询处理
2013-07-26 17:34 659SQL Server 用 like 查询时,可用 % 代表任 ... -
JVM内存配置
2013-07-11 09:34 1239原文地址:http://vanadiu ... -
SQL Server CONVERT函数
2013-06-26 14:57 1018本文转载自:http://weishang-java.ite ... -
数据库中的Schema
2013-06-15 10:53 1205本文转载自:http://blog.sina.co ... -
SqlServer数据库性能优化详解
2013-06-13 16:04 17509本文转载自:http://blog ... -
Jackson序列化和反序列化
2013-04-29 16:29 2194Jackson使用备忘 Jackson主要使用 ... -
Mysql连接异常
2013-04-29 15:47 1061在连接Mysql数据库后,查询时报错: The l ...
相关推荐
浅谈SQL Server数据库应用技巧.pdf
SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务...
浅谈SQL Server中的安全策略.pdf
SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务...
Visual Studio2005编程\浅谈SQLServer中连接不成功的解决方案
浅谈对SQL Server数据库快照的认识.pdf
SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务...
浅谈SQL Server中索引的使用.pdf
SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务...
浅谈SQL Server中的数据库备份类型.pdf
浅谈SQL Server2005常见漏洞的屏蔽.pdf
浅谈SQL Server数据库查询性能的优化.pdf
浅谈SQL Server中存储过程的一点用法.pdf
浅谈SQL Server中Select语句的分组统计功能.pdf
浅谈SQL Server2005中的架构.pdf
在SQL Server 2005中,它的另外一个强大的新特点是数据库快照。数据库快照在初始化时读的数据文件是来自于源数据库的。当源数据库的数据发生变化 时,数据引擎就会将原始数据从源数据库拷贝到快照数据库中。这个技术...
浅谈SQL Server数据库中游标的使用.pdf
浅谈SQL Server数据库访问.pdf
浅谈SQL SERVER安全机制.pdf
此文档中详细的记载了,SQL Server 2005快照与查询的使用场景,希望可以帮到下载的朋友们!