《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引
在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是:
关于FileGroup
如果你的系统是用Raid设备直接存放data文件,则不需要再借助FileGroup,因为FileGroup会增加数据库会影响复杂性和灵活性。
如果你的磁盘空间许可,你仍然不需要使用FileGroup,只要在同一个驱动器内增加一连串的File就可以了。
如果计划在不同的驱动器使用表和索引分区Partition内容,应该使用FileGroup
关于MultiFile ,可以有两个好处:
第一,你不总是有120G的空间来存放一个文件,而3个40G的空间要好找的多。
第二、只移动一个40G的文件到另一个分区比移动一个120G的文件,要容易,也不易出错。
关于FileStream FileGroup与FileGroup的不同,
如果在创建数据时使用了FileStream参数,如下:
则在C:/DATA/REVIEWS_FS
下会生成一个$FSLOG文件夹和一个FileStream.hdr文件,
这个hdr文件就是一个FileStream 包含关文件,不能被修改和移动。在运行Alter database时,会覆盖为最新的一个。
关于FileStream编程模型实现,请参照:
使用 FileStream SQL Server 2008 中编程http://msdn.microsoft.com/zh-cn/magazine/dd695918.aspx
引擎盖下的数据库(Databases under the hood)
一个数据库由可以持久存储用户对象如用户表和索引等的空间组成,这些空间由用户创建数据库时指定。而这些空间被指派到一个或多个操作系统文件。
数
据库被分成了一个个的逻辑页(logical
pages),每个逻辑面为8KB大小,在数据文件中,这些逻辑页由数字0-X连续存放,X由文件的大小确定,你可以通过·定义一个数据库
ID(databse ID),一个文件ID或页面数,比如3等,来指向任何一个页。当你使用Alter
database来增加数据库大小时,新的空间被加到数据文件的末尾,那就意味着:新分配空间的第一页是X+1。当你使用DBCC
ShrinkDatabase或DBCC
ShrinkFile命令时,位于最高数字的页面先被移去,这些页位于数据文件的末尾,然后依次是低数字的页面,这保证页面的数字始终是连续的。大家是不是觉得这个跟堆栈的操作很类似啊?呵呵。
当你创建一个数据库时Create Database时,会产生一个惟一的ID,Database ID,你可以在sys.databses视图找到它。该视图返回所有数据库的名称、database_id等参数。
空间分配
存
放数据库表和索引的空间,被托管在一个个很小的单元,我们称为“范围”(extent),每一个范围由8个连续的页面组成,共64K。为了使空间分配更加
高效,SQL Server 2008并没有完全分配范围到所有小数据量的表,SQL Server 2008有两种类型的范围(Extent)
1、标准范围(Uniform extent):
范围被一个单独的对象所拥有,范围内所有8个页面只被各自的一个对象拥有。
2、混合范围(Mixed extent):
范围被8个页面所共享。
SQL Server对于新表或索引分配空间时默认为混合范围,当表或索引增加到8个页面时,所有内容改为标准范围。
当
一个表或索引需要更多的空间时,SQL Server将会查找已经被分配的可用空间,当表或索引的页面数还没有达到8个时,SQL
Server一定找到一个可用的混合范围。如果表或索引都等于8个页面或更多时,SQL Server 必须找到一个新的自由的标准范围。
SQL Server使用两种类型的页面来记录范围的分配和可用类型:
Global Allocation Map(GAM) pages(page 2)和Shared Global Allocation Map(SGAM)pages(page 3)
.关于GAM/SGAM更多的资料,或者想要详细了解一个数据库的空间分配情况,请参看:
http://msdn.microsoft.com/zh-cn/library/ms175195.aspx
此外,如果范围的总大小超过4GB,超过的部分将由IAM pages(page 4)来分配。
Page Free Space(PFS) page (page 5)
Differential Changed Map(DCM) page (page 6)
Bluk Changed Map(BCM) page (page 7)
数据库快照(Database Snapshot)
数据库快照是SQl2005企业版开始提供的一项新功能,它允许你创建一个任何数据库的一个只读的实时点。事实上,你可以创建多个快照点。快照的一大好处是使用空间比原始数据库少的多。困为它只在存储了已经发生变化的页面(pages),
关于SnapShot的更多内容,请参看
http://msdn.microsoft.com/zh-cn/library/ms175158%28SQL.90%29.aspx
需要注意的是:
1、model,master,tempdb这三个系统数据库不能创建快照。
2、快照继承源数据库的安全限制,因为它是只读的,你不能修改快照的权限许可。
3、如果你删除了源数据库的一个用户,这个用户仍然在快照中。
4、快照不能被备份和恢复,但是源数据库的备份与恢复不受快照影响。
5、快照不能被连接(attach)或断开(detach)
6、快照不支持全文检索,也不能传播源数据库的全文分类(full-text catagies)。
下面将继续关注Tempdb数据库
邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn
分享到:
相关推荐
Microsoft SQL Server 2008 internals (PDF 高清版)
Microsoft SQL Server 2008 Internals_中文 Microsoft SQL Server 2008 Internals_中文 Microsoft SQL Server 2008 Internals_中文
Microsoft SQL Server 2008 Internals
SQL Server 2008 Internals and Troubleshooting for DBA and developer
[Microsoft Press] Microsoft SQL Server 2012 Internals (E-Book) ☆ 图书概要:☆ Dive deep inside the architecture of SQL Server 2012 Explore the core engine of Microsoft SQL Server 2012—and put ...
Professional SQL Server 2012 Internals and Troubleshooting
(1)Inside Microsoft SQL Server 2008 T-SQL Querying (2)Inside Microsoft SQL Server 2008 T-SQL Programming (3)Professional SQL Server 2008 Internals andTroubleshooting
The Hekaton internals knowledge she provides in this book will help you migrate existing tables or databases to Hekaton, and get faster performance from your SQL Server applications than you ever ...
Pro SQL Server Internals is a book for developers and database administrators, and it covers multiple SQL Server versions starting with SQL Server 2005 and going all the way up to the recently ...
Microsoft.SQL.Server.2008.Internals 英文版
英文版,文档版PDF,非扫描版,可复制内容。
Pro SQL Server Internals is a book for developers and database administrators, and it covers multiple SQL Server versions starting with SQL Server 2005 and going all the way up to the recently ...
Inside Microsoft SQL Server 2008: T-SQL Querying puts together all the ingredients you need to understand this declarative and set-oriented way of thinking and become a profi cient SQL programmer, ...
由Kalen Delaney编写的微软SQL Server图书一直是同类图书中的佼佼者,是SQL Sewer开发人员、架构师和DBA的案头必备书。如今。这本新书纳入微软阵容空前的“深入解析”(Internals)系列。微软SQL Server开发团队必读...
Microsoft SQL Server 2012 Internals 英文文字版,带目录
Microsoft SQL Server 2012 Internals.pdf 英文清晰版本