- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL_第05章_数据库创建和管理
第5章 数据库的创建和管理 ;5.1 数据库简介;数据库的物理存储结构是讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成。
一个数据库至少应该包含一个主数据库文件和一个事务日志文件。
;1.主数据库文件(Primary Database File)
一个数据库可以有一个或多个数据库文件,一个数据库文件只能属于一个数据库。
当有多个数据库文件时,有一个文件被定义为主数据库文件(简称为主文件),其扩展名为mdf。
主数据库文件用来存储数据库的启动信息以及部分或者全部数据,是所有数据库文件的起点,包含指向其它数据库文件的指针。
一个数据库只能有一个主数据库文件。 ;2.辅助数据库文件(Secondary Database File)
用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件。
辅助数据库文件的扩展名为ndf(简称为辅助文件)。 ;5.1.1 数据库的存储结构
1.盘区和页面
在创建数据库对象时,SQL Server会使用盘区和页面的数据结构给数据库对象分配空间。
数据存储的基本单位是页。页的大小是8KB,这样数据库上每一兆字节是128页。
每页的开始部分是96B的页首,用于存放系统信息,如页的类型、页的可用空间、占据该页的数据库对象的对象标识等。
页有数据页、索引页、文本/图象页等8种.;5.1.1 数据库的存储结构
1.盘区和页面
盘区(区域)是连续8个页,可防止数据产生碎片,使SQL易于寻找。
SQL有两种盘区组织页面:单一区域和混合区域。单一区域用于一个对象,混合区域用于多个小对象。
事务日志不被分成页和区域,而是包含已修改数据的清单,按先来先服务的原则组织。
;2.文件组
文件组是文件的集合。对文件进行分组,便于进行数据的管理和分配磁盘空间。
例如有三个数据文件data1.ndf,data2.ndf,data3.ndf,分别位于不同的磁盘上,将这三个文件指派到文件组filegroup1中。假设在文件组filegroup1上创建一个表,对表中数据的查询将会分散到三个磁盘上,从而提高系统的查询性能。;2.文件组
文件和文件组的设计规则:
文件和文件组不能由一个以上的数据库使用;
文件只能是一个文件组的成员;
事务日志文件文件不属于任何一个文件组。
注意:数据和事务日志不能属于同一文件或文件组。数据文件和日志文件总是分开存放的。;主文件组中包含了所有的系统表,当建立数据库时,主文件组包括主数据库文件和未指定组的其他文件。
用户定义文件组中可以指定一个缺省文件组,那么在创建数据库对象时如果没有指定将其放在哪一个文件组中,就会将它放在缺省文件组中。如果没有指定缺省文件组,则主文件组为缺省文件组。
一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用;日志文件是独立的,它不能作为任何文件组的成员。 ;5.1.2 事务日志文件
SQL创建数据库的时候,会同时创建事务日志文件。
事务日志文件存储数据库的更新情况等事务日志信息 ,当数据库损坏时,管理员使用事务日志恢复数据库。
每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名为ldf,日志文件的大小至少是512KB。 ;1. 事务日志文件和数据文件必须分开存放,优点如下:
事务日志文件可以单独备份;
有可能从服务器失效的事件中将服务器恢复到最近的状态;
事务日志不会抢占数据库的空间;
可以很容易地监测到事务日志的空间;
在向数据文件和事务日志文件写入数据时会产生较少的冲突,这有利于提高SQL的性能。
SQL Server事务日志采用提前写入的方式 。;2. 事务日志的工作过程
在SQL中,事务是一次完成的操作的集合。虽然一个事务中可能包含了很多SQL语句,但在处理上就象他们是同一个操作似的。
为了维护数据的完整性,事务必须彻底完成或者根本不执行。
如果一个事务只是部分地被执行,并作用于数据库,那么数据库将可能被损坏或数据的一致性遭到破坏。 SQL Server使用数据库的事务日志来防止没有完成的事务破坏数据。;事务日志的工作过程:
应用程序发出一个修改数据库中的对象的事务;
当这个事务开始时,事务日志会记录一个事务开始标志,并将被影响的数据页从磁盘读入缓冲区;
事务中每个数据更改语句都被记录在日志文件中,日志文件将记录一个提交事务的标记。每一个事务都会以这种方式记录在事务日志中并被立即写到硬盘上。
在缓冲区中修改相应的数据。这些数据一直在缓冲区中,在检查点进程发生时,检查点进程把所有修改过的数据页写到数据库中,并在事务日志中写入一个检查点标志,这个标志用于在数据库恢复过程中确定事务的起点和
文档评论(0)