- 浏览: 575495 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 847一图胜千言,下面图解均来自Program Creek 网站 ... -
【转载】JAVA多线程与并发学习总结
2015-12-17 13:23 966本文转载自:http://www.cnblogs.co ... -
关于MAT分析工具中的Shallow heap & Retained heap
2015-11-26 10:58 1381本文转载自:http://bjyzxxds.iteye.c ... -
触发JVM进行Full GC的情况及应对策略
2015-11-10 14:10 3196转载自:http://blog.csdn.net/chen ... -
JVM内存参数详解以及配置调优
2015-10-26 20:21 875本文转载自:http://www ... -
[转载]在线数据迁移经验:如何为正在飞行的飞机更换引擎
2015-02-25 15:49 909转载自:http://www.infoq.c ... -
java.lang.OutOfMemoryError: unable to create new native thread问题诊断
2014-10-27 18:34 610转载自:http://www.blogjava.net/l ... -
JVM调优总结 -Xms -Xmx -Xmn -Xss
2014-10-14 09:28 815本文转载自:http://unixboy.iteye.co ... -
JVM参数分析
2014-01-26 19:54 1153转载自: http:// ... -
Java的getByte()方法解析
2014-01-17 13:28 1495转载自: http://bijian1013. ... -
httpClient处理乱码
2014-01-10 12:08 793利用HttpClient模拟Http请求访问页面 ... -
Tomcat 生产服务器性能优化
2013-11-13 19:45 891转载自:http://www.oschina.net/tra ... -
查询异常数据
2013-09-07 10:34 954系统在查询时报错,具体信息为varchar转换 ... -
SQL Server 特殊字符查询处理
2013-07-26 17:34 704SQL Server 用 like 查询时,可用 % 代表任 ... -
JVM内存配置
2013-07-11 09:34 1283原文地址:http://vanadiu ... -
SQL Server CONVERT函数
2013-06-26 14:57 1068本文转载自:http://weishang-java.ite ... -
数据库中的Schema
2013-06-15 10:53 1256本文转载自:http://blog.sina.co ... -
SqlServer数据库性能优化详解
2013-06-13 16:04 17626本文转载自:http://blog ... -
Jackson序列化和反序列化
2013-04-29 16:29 2240Jackson使用备忘 Jackson主要使用 ... -
Mysql连接异常
2013-04-29 15:47 1102在连接Mysql数据库后,查询时报错: The l ...
相关推荐
Visual Studio2005编程\浅谈SQLServer中连接不成功的解决方案
SQL Server作为一款成熟的关系型数据库管理系统,被广泛应用于各种企业级应用中,它为企业信息管理提供了高效稳定的解决方案。随着信息技术的快速发展和企业信息化需求的不断增长,SQL Server数据库的性能优化越来越...
在SQL Server中,创建数据库快照是通过`CREATE DATABASE`命令完成的,其中需要指定源数据库的信息。快照本身并不立即占用大量磁盘空间,因为它使用稀疏文件技术。初始创建时,快照文件虽然在Windows资源管理器中显示...
浅谈SQL Server2005常见漏洞的屏蔽.pdf
在SQL Server中,创建数据库快照的命令是CREATE DATABASE,并且需要添加“AS SNAPSHOT OF”关键字后跟原数据库名来指明源数据库。 实例演示了如何创建一个源数据库和销售历史表,然后在此基础上创建一个数据库快照...
"浅谈SQL SERVER安全机制.pdf" 本文主要讨论了SQL SERVER的安全机制,分析了SQL SERVER数据库在安全方面存在的不足,并提出了提高SQL SERVER安全的方法。 首先,SQL SERVER的安全控制策略是一个层次结构系统,只有...
1. **数据库设计**:在SQL Server中,设计数据库涉及创建表、定义字段类型、设置约束(如主键、外键)以及索引。理解范式理论(第一范式到第五范式)有助于创建高效、规范的数据库结构。 2. **T-SQL语言**:SQL ...
SQLServer数据库快照
浅谈SQL Server数据库的安全性.pdf
浅谈SQL SERVER2008 JSP网站开发.pdf
浅谈SQL Server2000数据库日常维护.pdf
"浅谈SQL Server数据库访问" 本文主要介绍了Microsoft SQL Server数据库的基本概念和访问方法,讨论了三种常用的数据库访问接口DAO、ODBC和ADO,并提供了一些示例程序来访问SQL Server数据库。此外,本文还介绍了...
SQL Server的快照例子,快照是SQL Server的一项新功能,经常和镜像结合起来一起使用
浅谈SQL Server系统中SA弱口令的危害及解决方法 SQL Server系统中的SA弱口令是一种潜在的安全威胁,可能被黑客攻击。SA弱口令是指SQL Server系统默认管理员SA的口令过于简单,容易被黑客利用破解。SA账号具有数据库...
描述中提到的文档是“浅谈SQL Server 2005数据库备份与还原.pdf”,这表明该文档可能是提供了一个基础介绍,对SQL Server 2005中数据库备份与还原的基本原理、策略选择、操作步骤以及可能遇到的问题和解决方案进行了...
1.SQL Server 2014简介.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录....
介绍了sql server 2000对xml的支持,非常详细
通过《深入浅出SQL Server 2000开发、管理与应用实例》这本书的学习,读者可以全面了解SQL Server 2000的各种功能,并通过源代码实例加深理解,提升在实际工作中的应用能力。无论是数据库管理员、开发人员还是数据...
王晓元和刘坚强所著的“浅谈SQL Server 2000的安全策略.pdf”一文,提供了关于在Web环境中验证用户、允许数据库访问、分配权限以及简化安全管理等几个方面的策略。 首先,文中提到了Web环境中的验证问题。这是因为...
3. 认证机制: 在SQL Server 2000中,认证机制指的是用来验证用户身份的方法。SQL Server 2000支持两种认证模式:Windows认证模式和混合模式。Windows认证模式依赖于Windows操作系统的身份验证机制,而混合模式则结合...