书籍详情

Microsoft SQl Server 2005技术内幕:存储引擎

Microsoft SQl Server 2005技术内幕:存储引擎

作者:(美)Kalen Delaney

出版社:电子工业出版社

出版时间:2007-09-01

ISBN:9787121046742

定价:¥59.80

购买这本书可以去
内容简介
  nside microsoft sql server 2005系列四本著作中的一本。它详细介绍了t-sql的内部构造,包含了非常全面的编程参考。它提供了使用transact-sql(t-sql)的专家级指导,t-sql是用于sql server的最常见的也是功能最强大的编程语言。该书由itzik ben-gan权威执笔,重点关注语言特性以及它们如何被sql server引擎解释和处理。 通过本书,你将深入了解t-sql的高级用法,包括触发器、用户自定义函数、异常处理等。该书解释并比较了sql server 2000和sql server 2005在数据库开发相关问题上的解决方案,深入讨论了sql server 2005中新增的t-sql编程特性,包含了大量的代码示例、表示例和逻辑难题以帮助数据库开发人员和管理员理解复杂的逻辑并掌握t-sql。 本书适合于专业数据库开发者、bi开发者、dba和以sql server作为后台数据库的一般应用程序开发者,读者可以通过书中的最佳实践、高级技巧和代码示例来掌握这门复杂的编程语言,以切合实际的方案来解决复杂的实际问题。
作者简介
  Kalen Delaney是Solid Quality Learning的创建人之一,并且从事SQL Server的工作已有19年,从1987年起开始受雇于Sybase 公司。1992年,在从旧金山海湾搬家到美丽的太平洋西北部之后,Kalen成为一名独立的培训师和顾问。在随后的几年里,她和微软及Sybase公司一起开发课程并为他们的技术支持员工提供内部培训。1998年,Kalen为微软的产品支持团队开设了一门内部课程,以帮助他们学习SQL Server 7的内部工作原理和新特性。她还为SQL Server 2000开展了一个类似的课程。在很多年里,Kalen把这些课程传授给位于全美和全世界的众多微软的办公室相关人员和合作伙伴。现在她为自己的顾客提供SQL Server 2005体系结构、内部实现和查询调校的课程,这些你可以在Solid Quality Learning的网页(www.SolidQualityLearning.com)上找到。1995年,微软授予了Kalen MVP(最有价值的专家)的称号,因为她参与了在微软的新闻服务器(msnews.microsoft.com)上的SQL Server公共帮助论坛。现在,她仍然定期参与公共论坛,解答与SQL Server 内部实现和行为有关的许多问题。在1999年初,她被邀请参加成立一个非营利性的、国际的SQL Server用户组的最初计划委员会。以那个计划委员会为基础,SQL Server专业组织(Professional Association for SQL Server,PASS)诞生了。她头两年担任“Program Development”部门的主管,并于1999年10月在芝加哥举行的开幕会议上作了演讲。从那以后,她在每届的PASS会议上都作了讲话。在2002年,Kalen和她的5位同事创建了属于他们自己的公司,致力于提供世界上最先进的SQL Server培训。在随后的4年多的时间里,Solid Quality Learning已经发展成为一个拥有来自世界各地的40多名SQL Server专家的公司。
目录
第1章  SQL Server 2005 的安装与升级    1
1.1  SQL Server 2005安装前提    2
SQL Server 2005 版本    3
软件要求    4
硬件要求    5
1.2  安装前决策    7
安全性和用户上下文    7
字符与排序规则    9
排序次序    11
安装SQL Server的多个实例    15
安装SQL Server命名实例    16
1.3  做好安装准备    18
SQL Server 2005升级向导    18
1.4  迁移还是升级    20
迁移    20
升级    21
升级后的操作    23
1.5  选择组件    25
SQL Server数据库服务(数据库引擎)    26
Analysis Services    27
Reporting Services    27
Notification Services    27
Integration Services    27
工作站组件、联机丛书及开发工具    27
1.6  小结    28
第2章  SQL Server 2005体系结构    29
2.1  SQL Server引擎组件    29
观测数据库引擎行为    30
协议    31
表格格式数据流(TDS)端点    32
关系引擎    33
存储引擎    35
SQLOS    39
2.2  内存    49
缓冲池和高速数据缓冲区    50
访问内存中的数据页    50
管理数据高速缓冲区中的页面    51
检查点    53
管理其他高速缓存中的内存    54
调节内存大小    56
调节缓存池大小    56
2.3  小结    63
第3章  SQL Server 2005的配置    65
3.1  使用SQL Server 配置管理器    65
配置网络协议    65
默认的网络配置    66
管理服务    67
3.2  系统配置    67
任务管理    67
资源分配    68
系统分页文件的位置    69
非必需的服务    69
网络协议    69
与SQL Server 早期版本之间的兼容性    69
跟踪标记(Trace Flags)    70
SQL Server 的配置设定    70
内存选项    72
调度选项(Scheduling Options)    74
磁盘I/O 选项    76
查询处理选项    77
默认跟踪(Default Trace)    83
3.3  小结    85
第4章  数据库和数据库文件    87
4.1  系统数据库    88
master    88
Model    89
tempdb    89
mssqlsystemresource    89
msdb    90
4.2  示例数据库    90
AdventureWorks    91
pubs    91
Northwind    91
4.3  数据库文件    92
4.4  创建数据库    94
一个创建数据库的实例    96
4.5  增长和收缩数据库    97
自动文件增长    97
手动文件增长    97
快速文件初始化    98
自动收缩    98
手动收缩    98
4.6  使用数据库文件组    101
默认文件组    101
一个创建文件组的例子    103
4.7  更改数据库    104
ALTER DATABASE示例    105
4.8  数据库的真面目    106
空间分配    106
检查数据库的一致性    109
执行校验检查    110
4.9  设置数据库选项    115
状态选项    117
游标(CURSOR)选项    122
自动(AUTO)选项    123
SQL 选项    124
数据库恢复选项    125
其他数据库选项    127
4.10  数据库快照    127
创建一个数据库快照    127
数据库快照所使用的空间    130
管理快照    131
4.11  tempdb数据库    132
tempdb中的对象    132
tempdb中的优化    134
最优方法    135
tempdb空间监视    136
4.12  数据库安全    137
数据库访问    138
管理数据库安全性    140
数据库与架构(Schema)    140
分离主体与架构    141
默认架构    141
4.13  移动或复制一个数据库    142
分离和重新附加数据库    143
备份和还原数据库    144
移动系统数据库    145
移动master数据库和Resource数据库    146
4.14  兼容性级别    147
4.15  小结    148
第5章  日志和恢复    149
5.1  事务日志简介    149
恢复的各个阶段    152
5.2  改变日志文件大小    154
虚拟日志文件    154
观察虚拟日志文件    155
多个日志文件    156
虚拟日志文件的自动截断    157
维护可恢复的日志    158
日志的自动收缩    160
日志文件的大小    161
5.3  读取日志    162
5.4  数据库的备份和还原    162
备份的类型    163
恢复模型    164
选择备份类型    167
还原数据库    168
5.5  小结    174
第6章  表    175
6.1  系统对象    176
兼容性视图    176
目录视图    178
其他元数据    180
6.2  创建表    183
命名表和列    183
保留关键字    184
分隔标识符    185
命名惯例    186
数据类型    186
关于NULL的琐事    195
6.3  用户定义数据类型    198
CLR数据类型    200
6.4  IDENTITY属性    200
6.5  内部存储    203
sys.indexes目录视图    204
数据存储元数据    205
数据页面    209
数据行的结构    215
列偏移矩阵    217
定长记录的存储    217
变长记录的存储    221
页面连锁    224
行溢出数据    224
大对象数据    228
存在在数据行中的LOB数据    230
varchar(MAX)数据的存储    233
sysvariant的存储    234
6.6  约束    237
约束名和目录信息    238
事务及多记录修改中的约束失败    241
6.7  修改表    242
更换一个数据类型    242
增加一个新列    243
添加/删除/禁用/启用一个约束    243
删除一个列    244
启用或禁用触发器    245
对表进行修改的内部处理    245
6.8  小结    248
第7章  索引的内部构造和管理    249
7.1  索引的构造    250
聚集索引    252
非聚集索引    253
7.2  创建索引    254
包含性列(Included Columns)    257
索引的放置    257
约束和索引    258
7.3  索引分页的结构    259
带有唯一标识符(Uniqueifier)的聚集索引行    262
索引行的格式    266
聚集索引的结点行    267
非聚集索引的叶级行    269
非聚集索引的结点行    274
7.4  索引的空间需求    275
B-树的大小    275
实际大小 vs. 估计大小    276
7.5  特殊索引    280
先决条件    280
SET 选项    280
可允许的函数    281
架构绑定(Schema Binding)    282
基于计算列的索引    282
使用COLUMNPROPERTY 函数    283
计算列的实施    283
持久化列(Persisted Columns)    283
索引视图    285
附加要求    285
创建索引视图    286
使用索引视图    287
7.6  表和索引分区    288
分区函数及分区方案    288
关于分区的元数据    290
分区的威力    293
7.7  数据修改的内部机理    296
插入行    296
页拆分(Splitting Pages)    296
拆分索引的根分页    297
拆分中间级索引分页    297
拆分数据分页    297
删除行    300
从堆中删除记录    301
从B-树中删除记录    303
删除索引结点级中的记录    306
回收分页    306
更新行    306
移动行    307
管理前转指针    308
覆盖更新(Updating in Place)    309
非覆盖更新(Updating Not in Place)    309
表级数据修改 vs. 索引级数据修改    311
日志记录    313
锁定    313
7.8  索引的管理    314
修改索引(ALTER INDEX)    314
碎片的种类    315
碎片的检测    316
碎片报告    319
碎片的移除    322
索引的重建    325
联机索引创建    326
7.9  索引的使用    329
查找行    329
联接    329
排序    329
分组(Grouping)    329
保持唯一性    330
7.10  小结    330
第8章  锁定和并发    331
8.1  并发控制模型    332
悲观并发控制    332
乐观并发控制    332
8.2  事务处理    332
ACID属性    333
原子性(Atomicity)    333
一致性(Consistency)    334
隔离性(Isolation)    334
持久性(Durability)    334
隔离级别(Isolation Levels)    336
未提交读(Uncommitted Read)    336
已提交读(Read Committed)    337
可重复读(Repeatable Read)    337
快照(Snapshot)    338
可串行化(Serializable)    339
8.3  锁定(Locking)    340
锁定的基本概念    340
自旋锁(Spinlocks)    341
用户数据的锁定类型    341
锁的模式    342
共享锁(shared locks)    342
排他锁(exclusive locks)    342
更新锁(update locks)    342
意向锁(intent locks)    343
特殊锁定模式    343
转换锁(conversion locks)    344
键范围锁(key-range locks)    345
锁的粒度(lock granularity)    345
键锁(key locks)    347
另外的可锁定资源    349
应用程序级锁(application lock)    350
鉴别锁定资源    352
关联实体ID(Associated Entity ID)    353
锁的持续时间    354
锁的所有权(Ownership)    354
观察锁    355
sys.dm_tran_locks    355
锁定的实例    358
8.4  锁兼容性    364
8.5  锁定的内部架构    365
锁分区(Locking Partitioning)    367
锁块    368
锁所有者块    370
syslockinfo 表    370
8.6  绑定连接(Bound Connections)    372
使用绑定连接    372
多个活动结果集(Multiple Active Result Sets)    374
8.7  行级锁定 vs. 分页级锁定    374
锁升级    375
禁用锁升级    376
死锁    377
8.8  行版本控制    381
行版本控制概述    382
行版本控制详述    382
基于快照的隔离级别    383
已提交读快照隔离    383
快照隔离    385
快照隔离的范畴    386
观察数据库的状态    387
猜您喜欢

读书导航