书籍详情
SQL Server数据库技术大全
作者:曾毅 等编著
出版社:清华大学出版社
出版时间:2009-05-01
ISBN:9787302195771
定价:¥76.00
购买这本书可以去
内容简介
SQL Server是微软公司在数据库市场的主打产品,也是世界三大数据库管理系统之一。本书分为四篇,循序渐进地讲述了SQL Server 2008的功能特性和开发应用。从数据库基本概念到数据库性能调优,由浅入深地对具体知识点进行了详细的实例讲解。本书的知识点覆盖面广,涵盖了SQL Server 2008大部分的功能特点,从最基础的T-SQL语法到SQL Server 2008中新增的高级语法,从数据库基本概念到新增的数据类型,从简单的数据库查询到数据库性能的调优,从数据库的设计到数据库的管理,从数据库应用开发到商务智能应用等方面都有所涉及。本书内容全面,示例精巧而详尽,是学习SQL Server、了解和使用SQL Server 2008新特性、完善读者的知识结构、扩展SQL Server知识面的很好选择。本书适合各个层次的数据库学习人员和广大程序员阅读,也可作为开发人员的案头必备资料。
作者简介
曾毅,毕业于电子科技大学,现为微软企业顾问服务部资深顾问,具有多年的SQL Server数据库应用开发和管理经验。工作期间先后参与了多个大型企业数据库应用系统的设计和开发,并负责过SQL Server性能调优和培训项目。另外还作为讲师,长期进行SQL Server相关技术培训。
目录
第1篇 SQL Server基础
第1章 SQL Server 2008概述/2
1.1 SQL Server 2008简介/2
1.1.1 SQL Server发展历史/2
1.1.2 SQL Server 2008的特点/4
1.2 SQL Server 2008架构简介/4
1.2.1 SQL Server 2008系统架构/5
1.2.2 SQL Server 2008的协议/6
1.2.3 SQL Server 2008的查询/6
1.2.4 SQL Server 2008的数据操作/7
1.3 SQL Server 2008的安装/9
1.3.1 SQL Server 2008的版本选择/9
1.3.2 SQL Server 2008的安装环境/11
1.3.3 安装配置SQL Server 2008/11
1.4 使用SQL Server Management Studio/14
1.4.1 SQL Server Management Studio简介/15
1.4.2 使用SSMS打开表/15
1.4.3 在SSMS中使用T-SQL/17
1.4.4 使用SSMS管理服务器和脚本/18
1.5 SQL Server 2008的其他工具/19
1.5.1 使用配置管理器配置数据库/19
1.5.2 使用SQL Server Profiler跟踪数据库/22
1.5.3 使用SQL Server 2008联机丛书/23
1.6 SQL Server 2008系统数据库简介/24
1.6.1 系统数据库master——系统表的管理/24
1.6.2 系统数据库model——数据库的模板/25
1.6.3 系统数据库msdb——为SQL Server提供队列和可靠消息传递/26
1.6.4 系统数据库tempdb——临时工作区/26
1.7 示例数据库/27
1.7.1 安装示例数据库/27
1.7.2 示例数据库AdventureWorks/29
1.7.3 示例数据库AdventureWorksDW/30
1.8 小结/30
第2章 T-SQL基础/31
2.1 T-SQL简介/31
2.1.1 SQL背景/31
2.1.2 SQL语言分类/31
2.1.3 语法约定/32
2.2 基本的SQL语句/32
2.2.1 使用SELECT查询数据/33
2.2.2 使用INSERT插入数据/34
2.2.3 使用UPDATE更新数据/35
2.2.4 使用DELETE删除数据/36
2.3 联接查询/37
2.3.1 内联接(INNER JOIN)/37
2.3.2 外联接(OUTER JOIN)/38
2.3.3 完全联接(FULL JOIN)/39
2.3.4 交叉联接(CROSS JOIN)/40
2.3.5 联接的替代写法/40
2.3.6 联合(UNION)/41
2.4 SQL数据类型/42
2.4.1 精确数字类型/43
2.4.2 近似数字类型/43
2.4.3 字符串类型/43
2.4.4 Unicode字符串类型/44
2.4.5 二进制串类型/44
2.4.6 日期和时间类型/45
2.4.7 其他数据类型/45
2.5 SQL变量/46
2.6 操作符/47
2.7 流程控制/49
2.7.1 批处理/49
2.7.2 语句块/51
2.7.3 条件语句/51
2.7.4 循环语句/52
2.8 函数/53
2.8.1 函数简介/53
2.8.2 聚合函数/55
2.8.3 日期和时间函数/56
2.8.4 数学函数/57
2.8.5 字符串函数/59
2.8.6 其他常用函数/61
2.9 小结/62
第3章 数据库基本操作/63
3.1 数据库操作/63
3.1.1 创建数据库/63
3.1.2 修改数据库/65
3.1.3 删除数据库/66
3.2 表操作/67
3.2.1 表简介/67
3.2.2 使用T-SQL创建表/69
3.2.3 使用SSMS创建表/69
3.2.4 创建临时表/71
3.2.5 使用T-SQL修改表/72
3.2.6 使用SSMS修改表/75
3.2.7 删除表/76
3.3 数据完整性/77
3.3.1 实体完整性/77
3.3.2 域完整性/78
3.3.3 引用完整性/79
3.3.4 用户定义完整性/79
3.4 约束操作/80
3.4.1 约束简介/80
3.4.2 NOT NULL约束/80
3.4.3 DEFAULT约束/81
3.4.4 UNIQUE约束/82
3.4.5 PRIMARY KEY主键约束/84
3.4.6 FOREIGN KEY外键约束/86
3.4.7 CHECK约束/91
3.4.8 规则/92
3.4.9 默认值/94
3.4.10 禁用约束/95
3.5 视图/97
3.5.1 视图简介/97
3.5.2 使用T-SQL创建视图/98
3.5.3 使用SSMS创建视图/99
3.5.4 修改视图/101
3.5.5 删除视图/102
3.6 存储过程/102
3.6.1 存储过程简介/103
3.6.2 创建存储过程/103
3.6.3 修改存储过程/106
3.6.4 删除存储过程/107
3.6.5 存储过程返回数据/107
3.7 用户定义函数/108
3.7.1 用户定义函数简介/108
3.7.2 创建标量值函数/109
3.7.3 创建表值函数/111
3.7.4 修改用户定义函数/112
3.7.5 删除用户定义函数/113
3.8 触发器/113
3.8.1 触发器简介/114
3.8.2 创建触发器/115
3.8.3 修改和删除触发器/117
3.8.4 启用和禁用触发器/118
3.9 命名与编码规范/119
3.9.1 命名规范/119
3.9.2 SQL编码规范/120
3.10 小结/120
第4章 SQL Server 2008的新特性/121
4.1 SSMS增强/121
4.1.1 对象资源管理器增强/121
4.1.2 查询编辑器增强/122
4.1.3 执行计划增强/124
4.1.4 其他新增功能/125
4.2 新的管理特性/126
4.2.1 简洁高效的安装/126
4.2.2 透明数据加密/127
4.2.3 数据压缩和备份压缩/128
4.2.4 审核/130
4.2.5 策略管理/130
4.2.6 其他管理特性/131
4.3 新增数据类型/132
4.3.1 日期和时间类型/132
4.3.2 层次ID/136
4.3.3 地理空间数据类型/137
4.3.4 表值参数类型/138
4.3.5 文件流数据/139
4.4 新的开发特性/140
4.4.1 新增T-SQL语法/140
4.4.2 同步框架/142
4.4.3 稀疏列/143
4.4.4 列集/144
4.4.5 筛选索引/145
4.4.6 其他开发特性增强/146
4.5 商务智能增强/146
4.5.1 集成服务增强/147
4.5.2 分析服务增强/147
4.5.3 报表服务增强/148
4.5.4 Office集成/148
4.6 小结/149
第2篇 数据库安全
第5章 SQL Server 2008安全/152
5.1 新安全机制概论/152
5.1.1 平台与网络安全性/152
5.1.2 主体与数据库对象安全性/154
5.1.3 应用程序安全性/155
5.2 账号管理/156
5.2.1 安全验证方式/156
5.2.2 密码策略/157
5.2.3 高级安全性/158
5.3 登录名管理/159
5.3.1 使用T-SQL创建登录名/159
5.3.2 使用SSMS创建登录名/161
5.3.3 使用T-SQL修改登录名/162
5.3.4 使用SSMS修改登录名/165
5.3.5 删除登录名/165
5.4 用户管理/166
5.4.1 使用T-SQL创建用户/166
5.4.2 使用SSMS创建用户/167
5.4.3 修改用户/168
5.4.4 删除用户/169
5.5 架构管理/169
5.5.1 架构简介/169
5.5.2 使用T-SQL创建架构/170
5.5.3 使用SSMS创建架构/171
5.5.4 修改架构/172
5.5.5 删除架构/173
5.6 用户权限/174
5.6.1 权限简介/174
5.6.2 使用GRANT分配权限/177
5.6.3 使用DENY显式拒绝访问对象/178
5.6.4 使用REVOKE撤销权限/179
5.6.5 语句执行权限/180
5.6.6 使用SSMS管理用户权限/181
5.7 角色管理/184
5.7.1 角色简介/185
5.7.2 服务器角色/185
5.7.3 固定数据库角色/187
5.7.4 用户定义数据库角色/189
5.7.5 应用程序角色/191
5.8 数据加密/194
5.8.1 数据加密简介/194
5.8.2 数据的加密和解密/196
5.8.3 使用证书加密和解密/198
5.8.4 使用透明数据加密/199
5.9 SQL注入攻击/201
5.9.1 SQL注入攻击原理/201
5.9.2 如何防范SQL注入攻击/202
5.10 小结/203
第6章 数据文件安全与灾难恢复/204
6.1 数据文件安全简介/204
6.1.1 业务可持续性/204
6.1.2 SQL Server 2008高可用性技术/205
6.2 数据库的备份与恢复/206
6.2.1 数据库备份简介/206
6.2.2 备份设备/207
6.2.3 数据库备份/209
6.2.4 数据库恢复/211
6.2.5 恢复模式/213
6.3 数据文件的转移/214
6.3.1 分离数据库/215
6.3.2 附加数据库/216
6.4 数据库快照/218
6.4.1 数据库快照原理/218
6.4.2 建立数据库快照/219
6.4.3 管理数据库快照/220
6.5 数据库镜像/221
6.5.1 数据库镜像概论/221
6.5.2 数据库镜像模式/223
6.5.3 使用T-SQL配置数据库镜像/224
6.5.4 使用SSMS配置数据库镜像/228
6.6 日志传送/230
6.6.1 日志传送概述/230
6.6.2 日志传送的服务器角色/230
6.6.3 日志传送的定时作业/231
6.6.4 使用T-SQL配置日志传送/232
6.6.5 使用SSMS配置日志传送/236
6.7 数据库群集/238
6.7.1 群集简介/239
6.7.2 服务器群集配置要求/239
6.7.3 创建Windows故障转移群集/241
6.8 小结/242
第7章 复制/243
7.1 使用bcp导入导出数据/243
7.1.1 bcp实现大容量复制/243
7.1.2 bcp导出/246
7.1.3 格式化文件/247
7.1.4 bcp导入/250
7.1.5 使用BULK INSERT命令/252
7.1.6 使用OPENROWSET()函数/255
7.2 复制概述/258
7.2.1 复制简介/258
7.2.2 复制类型/259
7.2.3 复制代理/261
7.2.4 订阅简介/262
7.3 复制的工作机制/262
7.3.1 快照复制工作机制/263
7.3.2 事务复制工作机制/264
7.3.3 Oracle发布工作机制/265
7.3.4 合并复制工作机制/266
7.4 配置复制/267
7.4.1 准备用于复制的服务器/267
7.4.2 配置快照发布和分发/268
7.4.3 配置快照订阅/272
7.4.4 配置事务复制和合并复制/275
7.5 配置Oracle复制/276
7.5.1 配置Oracle权限/276
7.5.2 准备用于Oracle发布的服务器/277
7.5.3 配置Oracle发布和订阅/278
7.5.4 Oracle发布注意事项/281
7.5.5 数据类型映射/282
7.5.6 Oracle发布管理注意事项/284
7.6 管理复制/285
7.6.1 添加项目/285
7.6.2 删除项目/286
7.6.3 复制监视器/286
7.6.4 提高复制性能/287
7.7 小结/288
第3篇 SQL Server开发
第8章 数据库设计/292
8.1 实体——关系模型/292
8.1.1 基本概念/292
8.1.2 实体集/293
8.1.3 关系集/294
8.1.4 属性/295
8.2 关系/295
8.2.1 一对一的关系/296
8.2.2 一对多的关系/296
8.2.3 多对多的关系/297
8.3 范式/298
8.3.1 第一范式/298
8.3.2 第二范式/299
8.3.3 第三范式/300
8.3.4 Boyce-Codd范式/302
8.3.5 其他范式/302
8.4 数据库建模/303
8.4.1 E-R图/303
8.4.2 关系图/304
8.5 使用PowerDesigner进行建模/306
8.5.1 PowerDesigner简介/306
8.5.2 PowerDesigner支持的模型/306
8.5.3 建立概念模型/307
8.5.4 建立物理模型/311
8.5.5 生成数据库/312
8.5.6 使用逆向工程生成物理模型/313
8.6 小结/316
第9章 SQL Server与CLR集成/318
9.1 了解.NET和CLR/318
9.1.1 .NET简介/318
9.1.2 C#简介/319
9.1.3 CLR集成概述/321
9.2 使用CLR集成的命名空间/322
9.3 SQL Server中的程序集/323
9.3.1 程序集简介/324
9.3.2 使用T-SQL添加程序集/324
9.3.3 使用SSMS添加程序集/326
9.3.4 修改程序集/327
9.3.5 删除程序集/328
9.4 创建CLR函数/329
9.4.1 使用C#编写CLR标量值函数/329
9.4.2 在SQL Server中使用CLR标量值函数/331
9.4.3 使用C#编写CLR表值函数/333
9.4.4 在SQL Server中使用CLR表值函数/334
9.5 创建CLR存储过程/335
9.5.1 使用C#编写CLR存储过程所需的函数/336
9.5.2 在SQL Server中使用CLR存储过程/337
9.5.3 创建有OUTPUT参数的CLR存储过程/338
9.6 创建CLR触发器/339
9.6.1 使用C#编写CLR触发器/339
9.6.2 在SQL Server中使用CLR触发器/341
9.7 创建用户定义聚合函数/342
9.7.1 使用C#编写聚合函数/342
9.7.2 在SQL Server中创建用户定义聚合函数/343
9.8 创建CLR用户定义类型/345
9.8.1 使用C#定义类型/345
9.8.2 在SQL Server中使用CLR用户定义类型/346
9.9 小结/347
第10章 在SQL Server中使用XML/349
10.1 XML概述/349
10.1.1 XML简介/349
10.1.2 XML数据的结构/350
10.1.3 XML文档模式/351
10.2 FOR XML子句的模式/353
10.2.1 RAW模式/353
10.2.2 AUTO模式/355
10.2.3 EXPLICIT模式/356
10.2.4 PATH模式/359
10.3 SQL Server 2008对XML的支持/359
10.3.1 对FOR XML子句的增强/359
10.3.2 OPENXML()函数/363
10.4 XML数据类型/364
10.4.1 XML数据类型简介/364
10.4.2 使用非类型化XML/365
10.4.3 管理XML架构集合/366
10.4.4 使用类型化XML/367
10.5 XML类型的方法/368
10.5.1 用query()方法查询XML/369
10.5.2 用exists()方法判断查询是否有结果/369
10.5.3 用value()方法返回查询的原子值/370
10.5.4 用modify()方法修改XML的内容/371
10.5.5 用nodes()方法实现XML数据到关系数据的转变/374
10.6 XML索引/375
10.6.1 XML索引简介/375
10.6.2 创建XML索引/377
10.6.3 修改与删除XML索引/379
10.7 使用XQuery/380
10.7.1 XQuery基础/380
10.7.2 FLWOR语句/387
10.7.3 XQuery条件表达式/390
10.7.4 XQuery运算符/391
10.7.5 XQuery函数/392
10.8 小结/392
第11章 使用ADO.NET/393
11.1 ADO.NET概述/393
11.1.1 ADO.NET发展历史/393
11.1.2 ADO.NET的结构/394
11.1.3 ADO.NET的优点/396
11.2 建立与管理连接/396
11.2.1 连接字符串/396
11.2.2 建立和断开连接/398
11.2.3 数据库连接池概述/399
11.2.4 创建连接池/400
11.2.5 添加连接/400
11.2.6 移除连接/400
11.2.7 配置连接池/401
11.3 使用SqlCommand执行数据操作/401
11.3.1 构造SqlCommand对象/402
11.3.2 SqlCommand提供的方法/403
11.4 使用SqlDataReader读取数据/404
11.4.1 使用SqlDataReader获得数据流/404
11.4.2 使用SqlDataReader获得对象/406
11.5 使用DataSet填充SqlDataAdapter/407
11.5.1 SqlDataAdapter的使用/407
11.5.2 DataSet的结构/408
11.5.3 DataSet中的集合——DataTable/408
11.5.4 DataSet中的数据行——DataRow/409
11.5.5 DataSet中的数据列——DataColumn/410
11.5.6 DataSet中的数据视图——DataView/411
11.6 事务处理/412
11.6.1 使用SqlTransaction处理事务/412
11.6.2 使用TransactionScope处理分布式事务/413
11.7 使用数据访问应用程序块/415
11.7.1 数据访问应用程序块简介/415
11.7.2 数据访问应用程序块的使用/417
11.8 使用LINQ操作数据库/418
11.8.1 LINQ基础/418
11.8.2 创建LINQ to SQL/420
11.8.3 使用LINQ进行多表查询/423
11.8.4 使用LINQ的其他查询/424
11.8.5 使用LINQ to SQL修改数据/426
11.8.6 使用LINQ to SQL的其他操作/427
11.9 小结/429
第12章 使用SMO编程管理数据库对象/430
12.1 SMO简介/430
12.2 SMO对象模型/431
12.2.1 SMO对象和URN简介/431
12.2.2 获得SMO对象属性/433
12.2.3 Server对象简介/434
12.2.4 Database对象简介/435
12.2.5 Table对象简介/436
12.2.6 其他对象简介/437
12.3 创建SMO应用程序/438
12.3.1 在VS中创建SMO项目/438
12.3.2 使用SMO管理数据库/439
12.3.3 使用SMO管理表/442
12.3.4 使用SMO管理存储过程/444
12.3.5 使用SMO生成脚本/446
12.4 小结/448
第13章 高级T-SQL语法/449
13.1 SQL Server 2005新增语法/449
13.1.1 排名函数/449
13.1.2 异常处理/453
13.1.3 APPLY操作符/455
13.1.4 PIVOT和UNPIVOT运算符/455
13.1.5 OUTPUT语法/457
13.1.6 公用表表达式CTE/460
13.1.7 TOP增强/462
13.1.8 TABLESAMPLE子句/463
13.2 SQL Server 2008新增语法/465
13.2.1 T-SQL基础增强/465
13.2.2 Grouping Sets语法/466
13.2.3 Merge语法/468
13.2.4 表值参数TVP/470
13.3 小结/472
第14章 Service Broker——异步应用程序平台/473
14.1 Service Broker简介/473
14.1.1 Service Broker是什么/473
14.1.2 Service Broker的作用/474
14.1.3 Service Broker的优点/476
14.2 会话对象/479
14.2.1 消息类型/479
14.2.2 管理消息类型/480
14.2.3 约定/482
14.2.4 管理约定/482
14.2.5 队列/483
14.2.6 管理队列/484
14.2.7 服务/486
14.2.8 管理服务/487
14.3 会话对话/488
14.3.1 对话过程/488
14.3.2 发起和结束会话/490
14.3.3 发送和接收消息/492
14.3.4 会话组/494
14.3.5 单个数据库的会话/496
14.4 Service Broker网络会话/498
14.4.1 Service Broker端点/498
14.4.2 路由/500
14.5 小结/501
第15章 空间数据类型/502
15.1 空间数据类型简介/502
15.1.1 空间数据类型概述/502
15.1.2 WKT简介/503
15.1.3 空间引用标识符/504
15.1.4 空间类/505
15.2 geometry几何数据类型/505
15.2.1 Point点的使用/506
15.2.2 MultiPoint点集的使用/507
15.2.3 LineString线的使用/508
15.2.4 MultiLineString线集的使用/510
15.2.5 Polygon面的使用/511
15.2.6 MultiPolygon面集的使用/513
15.2.7 GeometryCollection几何集合的使用/514
15.2.8 操作几何图形实例/515
15.2.9 几何图形实例的属性和方法/521
15.2.10 几何图形实例之间的关系/524
15.3 geography地理数据类型/528
15.3.1 创建地域实例/528
15.3.2 地域实例的属性和方法/531
15.3.3 地域实例之间的关系/533
15.4 空间索引/533
15.4.1 空间索引概述/533
15.4.2 使用T-SQL创建空间索引/538
15.4.3 使用SSMS创建空间索引/540
15.4.4 管理空间索引/542
15.5 小结/543
第16章 跨实例链接/544
16.1 链接服务器/544
16.1.1 链接服务器简介/544
16.1.2 使用T-SQL创建链接服务器/544
16.1.3 使用SSMS创建链接服务器/548
16.1.4 修改链接服务器属性/550
16.1.5 使用链接服务器/551
16.2 同义词/552
16.2.1 同义词简介/552
16.2.2 创建同义词/553
16.2.3 使用同义词/554
16.3 深入探讨跨实例链接/555
16.3.1 数据查询方式/555
16.3.2 链接服务器的安全/556
16.3.3 目录服务/556
16.3.4 索引服务/557
16.4 小结/558
第17章 数据库管理自动化/559
17.1 SQL Server代理/559
17.1.1 SQL Server代理简介/559
17.1.2 启用SQL Server代理/560
17.2 配置数据库作业/562
17.2.1 创建作业/562
17.2.2 创建作业步骤/564
17.2.3 创建计划/567
17.2.4 运行作业/571
17.2.5 监视作业/573
17.3 数据库邮件/574
17.3.1 数据库邮件简介/574
17.3.2 配置数据库邮件/576
17.3.3 如何使用数据库邮件/579
17.4 数据库警报/580
17.4.1 创建操作员/580
17.4.2 创建警报/581
17.4.3 为SQL Server代理配置数据库邮件/584
17.4.4 为作业设置通知/585
17.5 维护计划/586
17.5.1 维护计划向导/586
17.5.2 配置维护计划/590
17.5.3 维护计划管理/593
17.6 小结/593
第18章 商务智能/594
18.1 商务智能简介/594
18.2 集成服务/595
18.2.1 集成服务简介/595
18.2.2 使用导入导出向导转换数据/595
18.2.3 Excel数据的导入导出/599
18.2.4 数据查找/602
18.2.5 数据处理/604
18.2.6 异常处理/607
18.2.7 变量的使用/608
18.2.8 使用容器进行批量导入/609
18.3 分析服务/611
18.3.1 分析服务简介/611
18.3.2 创建数据源和数据源视图/613
18.3.3 创建多维数据集/614
18.3.4 部署分析服务/618
18.3.5 显示分析数据/619
18.4 报表服务/620
18.4.1 报表服务简介/621
18.4.2 报表设计/621
18.4.3 报表发布/623
18.4.4 报表展示/625
18.5 小结/626
第4篇 数据库性能优化
第19章 数据存储与索引/628
19.1 数据库对象分配/628
19.1.1 对象的存储/628
19.1.2 区-管理空间的基本单位/629
19.2 索引/630
19.2.1 索引简介/630
19.2.2 聚集索引/631
19.2.3 非聚集索引/633
19.2.4 堆/634
19.2.5 创建索引/635
19.2.6 管理索引/637
19.3 索引选项/639
19.3.1 填充因子/639
19.3.2 联机索引操作/640
19.3.3 其他高级选项/642
19.4 数据文件分区/643
19.4.1 分区概述/643
19.4.2 文件和文件组/644
19.4.3 分区函数/646
19.4.4 分区方案/648
19.4.5 分区表/649
19.4.6 分区索引/650
19.5 全文搜索/651
19.5.1 全文搜索概述/651
19.5.2 全文目录/652
19.5.3 全文索引/654
19.5.4 使用全文搜索/656
19.6 使用FILESTREAM存储文件/657
19.6.1 FILESTREAM概述/658
19.6.2 创建FILESTREAM/658
19.6.3 管理与使用FILESTREAM/660
19.7 小结/661
第20章 数据查询/662
20.1 执行计划/662
20.1.1 执行计划缓存/662
20.1.2 使用T-SQL查看执行计划/663
20.1.3 使用SSMS图形显示执行计划/664
20.1.4 重新编译执行计划/665
20.2 联接/668
20.2.1 嵌套循环联接/668
20.2.2 合并联接/669
20.2.3 哈希联接/670
20.3 SARG查询参数/671
20.3.1 SARG简介/671
20.3.2 在查询中使用SARG/671
20.4 统计信息/673
20.4.1 统计信息简介/673
20.4.2 使用T-SQL创建统计信息/674
20.4.3 使用T-SQL管理统计信息/675
20.4.4 使用SSMS创建和管理统计信息/676
20.5 小结/677
第21章 事务处理/678
21.1 事务/678
21.1.1 事务概述/678
21.1.2 使用事务/679
21.1.3 嵌套事务/681
21.1.4 事务保存点/681
21.2 锁/682
21.2.1 锁的模式/682
21.2.2 锁的兼容性/684
21.2.3 锁的资源和粒度/685
21.3 事务隔离级别/686
21.3.1 并发产生的影响/686
21.3.2 隔离级别概述/687
21.3.3 使用T-SQL设置隔离级别/688
21.3.4 隔离级别详情/689
21.4 死锁/694
21.4.1 死锁简介/694
21.4.2 多表死锁/695
21.4.3 高隔离级别造成单表死锁/696
21.4.4 索引建立不当造成单表死锁/696
21.4.5 死锁监视与预防/698
21.5 小结/699
第22章 数据库系统调优工具/700
22.1 数据库报表/700
22.1.1 查看数据库实例报表/700
22.1.2 查看单个数据库报表/701
22.2 使用SQL Server Profiler跟踪数据库/701
22.2.1 创建SQL Server Profiler/702
22.2.2 查询SQL Server Profiler/703
22.3 性能监视器/704
22.3.1 性能监视器简介/704
22.3.2 常用的计数器/705
22.3.3 计数器日志/707
22.4 使用优化顾问优化SQL语句/708
22.4.1 优化顾问简介/708
22.4.2 使用优化顾问优化SQL语句/709
22.5 动态管理视图和函数/710
22.5.1 动态管理视图和函数简介/711
22.5.2 动态管理视图和函数的使用/711
22.6 小结/713
第1章 SQL Server 2008概述/2
1.1 SQL Server 2008简介/2
1.1.1 SQL Server发展历史/2
1.1.2 SQL Server 2008的特点/4
1.2 SQL Server 2008架构简介/4
1.2.1 SQL Server 2008系统架构/5
1.2.2 SQL Server 2008的协议/6
1.2.3 SQL Server 2008的查询/6
1.2.4 SQL Server 2008的数据操作/7
1.3 SQL Server 2008的安装/9
1.3.1 SQL Server 2008的版本选择/9
1.3.2 SQL Server 2008的安装环境/11
1.3.3 安装配置SQL Server 2008/11
1.4 使用SQL Server Management Studio/14
1.4.1 SQL Server Management Studio简介/15
1.4.2 使用SSMS打开表/15
1.4.3 在SSMS中使用T-SQL/17
1.4.4 使用SSMS管理服务器和脚本/18
1.5 SQL Server 2008的其他工具/19
1.5.1 使用配置管理器配置数据库/19
1.5.2 使用SQL Server Profiler跟踪数据库/22
1.5.3 使用SQL Server 2008联机丛书/23
1.6 SQL Server 2008系统数据库简介/24
1.6.1 系统数据库master——系统表的管理/24
1.6.2 系统数据库model——数据库的模板/25
1.6.3 系统数据库msdb——为SQL Server提供队列和可靠消息传递/26
1.6.4 系统数据库tempdb——临时工作区/26
1.7 示例数据库/27
1.7.1 安装示例数据库/27
1.7.2 示例数据库AdventureWorks/29
1.7.3 示例数据库AdventureWorksDW/30
1.8 小结/30
第2章 T-SQL基础/31
2.1 T-SQL简介/31
2.1.1 SQL背景/31
2.1.2 SQL语言分类/31
2.1.3 语法约定/32
2.2 基本的SQL语句/32
2.2.1 使用SELECT查询数据/33
2.2.2 使用INSERT插入数据/34
2.2.3 使用UPDATE更新数据/35
2.2.4 使用DELETE删除数据/36
2.3 联接查询/37
2.3.1 内联接(INNER JOIN)/37
2.3.2 外联接(OUTER JOIN)/38
2.3.3 完全联接(FULL JOIN)/39
2.3.4 交叉联接(CROSS JOIN)/40
2.3.5 联接的替代写法/40
2.3.6 联合(UNION)/41
2.4 SQL数据类型/42
2.4.1 精确数字类型/43
2.4.2 近似数字类型/43
2.4.3 字符串类型/43
2.4.4 Unicode字符串类型/44
2.4.5 二进制串类型/44
2.4.6 日期和时间类型/45
2.4.7 其他数据类型/45
2.5 SQL变量/46
2.6 操作符/47
2.7 流程控制/49
2.7.1 批处理/49
2.7.2 语句块/51
2.7.3 条件语句/51
2.7.4 循环语句/52
2.8 函数/53
2.8.1 函数简介/53
2.8.2 聚合函数/55
2.8.3 日期和时间函数/56
2.8.4 数学函数/57
2.8.5 字符串函数/59
2.8.6 其他常用函数/61
2.9 小结/62
第3章 数据库基本操作/63
3.1 数据库操作/63
3.1.1 创建数据库/63
3.1.2 修改数据库/65
3.1.3 删除数据库/66
3.2 表操作/67
3.2.1 表简介/67
3.2.2 使用T-SQL创建表/69
3.2.3 使用SSMS创建表/69
3.2.4 创建临时表/71
3.2.5 使用T-SQL修改表/72
3.2.6 使用SSMS修改表/75
3.2.7 删除表/76
3.3 数据完整性/77
3.3.1 实体完整性/77
3.3.2 域完整性/78
3.3.3 引用完整性/79
3.3.4 用户定义完整性/79
3.4 约束操作/80
3.4.1 约束简介/80
3.4.2 NOT NULL约束/80
3.4.3 DEFAULT约束/81
3.4.4 UNIQUE约束/82
3.4.5 PRIMARY KEY主键约束/84
3.4.6 FOREIGN KEY外键约束/86
3.4.7 CHECK约束/91
3.4.8 规则/92
3.4.9 默认值/94
3.4.10 禁用约束/95
3.5 视图/97
3.5.1 视图简介/97
3.5.2 使用T-SQL创建视图/98
3.5.3 使用SSMS创建视图/99
3.5.4 修改视图/101
3.5.5 删除视图/102
3.6 存储过程/102
3.6.1 存储过程简介/103
3.6.2 创建存储过程/103
3.6.3 修改存储过程/106
3.6.4 删除存储过程/107
3.6.5 存储过程返回数据/107
3.7 用户定义函数/108
3.7.1 用户定义函数简介/108
3.7.2 创建标量值函数/109
3.7.3 创建表值函数/111
3.7.4 修改用户定义函数/112
3.7.5 删除用户定义函数/113
3.8 触发器/113
3.8.1 触发器简介/114
3.8.2 创建触发器/115
3.8.3 修改和删除触发器/117
3.8.4 启用和禁用触发器/118
3.9 命名与编码规范/119
3.9.1 命名规范/119
3.9.2 SQL编码规范/120
3.10 小结/120
第4章 SQL Server 2008的新特性/121
4.1 SSMS增强/121
4.1.1 对象资源管理器增强/121
4.1.2 查询编辑器增强/122
4.1.3 执行计划增强/124
4.1.4 其他新增功能/125
4.2 新的管理特性/126
4.2.1 简洁高效的安装/126
4.2.2 透明数据加密/127
4.2.3 数据压缩和备份压缩/128
4.2.4 审核/130
4.2.5 策略管理/130
4.2.6 其他管理特性/131
4.3 新增数据类型/132
4.3.1 日期和时间类型/132
4.3.2 层次ID/136
4.3.3 地理空间数据类型/137
4.3.4 表值参数类型/138
4.3.5 文件流数据/139
4.4 新的开发特性/140
4.4.1 新增T-SQL语法/140
4.4.2 同步框架/142
4.4.3 稀疏列/143
4.4.4 列集/144
4.4.5 筛选索引/145
4.4.6 其他开发特性增强/146
4.5 商务智能增强/146
4.5.1 集成服务增强/147
4.5.2 分析服务增强/147
4.5.3 报表服务增强/148
4.5.4 Office集成/148
4.6 小结/149
第2篇 数据库安全
第5章 SQL Server 2008安全/152
5.1 新安全机制概论/152
5.1.1 平台与网络安全性/152
5.1.2 主体与数据库对象安全性/154
5.1.3 应用程序安全性/155
5.2 账号管理/156
5.2.1 安全验证方式/156
5.2.2 密码策略/157
5.2.3 高级安全性/158
5.3 登录名管理/159
5.3.1 使用T-SQL创建登录名/159
5.3.2 使用SSMS创建登录名/161
5.3.3 使用T-SQL修改登录名/162
5.3.4 使用SSMS修改登录名/165
5.3.5 删除登录名/165
5.4 用户管理/166
5.4.1 使用T-SQL创建用户/166
5.4.2 使用SSMS创建用户/167
5.4.3 修改用户/168
5.4.4 删除用户/169
5.5 架构管理/169
5.5.1 架构简介/169
5.5.2 使用T-SQL创建架构/170
5.5.3 使用SSMS创建架构/171
5.5.4 修改架构/172
5.5.5 删除架构/173
5.6 用户权限/174
5.6.1 权限简介/174
5.6.2 使用GRANT分配权限/177
5.6.3 使用DENY显式拒绝访问对象/178
5.6.4 使用REVOKE撤销权限/179
5.6.5 语句执行权限/180
5.6.6 使用SSMS管理用户权限/181
5.7 角色管理/184
5.7.1 角色简介/185
5.7.2 服务器角色/185
5.7.3 固定数据库角色/187
5.7.4 用户定义数据库角色/189
5.7.5 应用程序角色/191
5.8 数据加密/194
5.8.1 数据加密简介/194
5.8.2 数据的加密和解密/196
5.8.3 使用证书加密和解密/198
5.8.4 使用透明数据加密/199
5.9 SQL注入攻击/201
5.9.1 SQL注入攻击原理/201
5.9.2 如何防范SQL注入攻击/202
5.10 小结/203
第6章 数据文件安全与灾难恢复/204
6.1 数据文件安全简介/204
6.1.1 业务可持续性/204
6.1.2 SQL Server 2008高可用性技术/205
6.2 数据库的备份与恢复/206
6.2.1 数据库备份简介/206
6.2.2 备份设备/207
6.2.3 数据库备份/209
6.2.4 数据库恢复/211
6.2.5 恢复模式/213
6.3 数据文件的转移/214
6.3.1 分离数据库/215
6.3.2 附加数据库/216
6.4 数据库快照/218
6.4.1 数据库快照原理/218
6.4.2 建立数据库快照/219
6.4.3 管理数据库快照/220
6.5 数据库镜像/221
6.5.1 数据库镜像概论/221
6.5.2 数据库镜像模式/223
6.5.3 使用T-SQL配置数据库镜像/224
6.5.4 使用SSMS配置数据库镜像/228
6.6 日志传送/230
6.6.1 日志传送概述/230
6.6.2 日志传送的服务器角色/230
6.6.3 日志传送的定时作业/231
6.6.4 使用T-SQL配置日志传送/232
6.6.5 使用SSMS配置日志传送/236
6.7 数据库群集/238
6.7.1 群集简介/239
6.7.2 服务器群集配置要求/239
6.7.3 创建Windows故障转移群集/241
6.8 小结/242
第7章 复制/243
7.1 使用bcp导入导出数据/243
7.1.1 bcp实现大容量复制/243
7.1.2 bcp导出/246
7.1.3 格式化文件/247
7.1.4 bcp导入/250
7.1.5 使用BULK INSERT命令/252
7.1.6 使用OPENROWSET()函数/255
7.2 复制概述/258
7.2.1 复制简介/258
7.2.2 复制类型/259
7.2.3 复制代理/261
7.2.4 订阅简介/262
7.3 复制的工作机制/262
7.3.1 快照复制工作机制/263
7.3.2 事务复制工作机制/264
7.3.3 Oracle发布工作机制/265
7.3.4 合并复制工作机制/266
7.4 配置复制/267
7.4.1 准备用于复制的服务器/267
7.4.2 配置快照发布和分发/268
7.4.3 配置快照订阅/272
7.4.4 配置事务复制和合并复制/275
7.5 配置Oracle复制/276
7.5.1 配置Oracle权限/276
7.5.2 准备用于Oracle发布的服务器/277
7.5.3 配置Oracle发布和订阅/278
7.5.4 Oracle发布注意事项/281
7.5.5 数据类型映射/282
7.5.6 Oracle发布管理注意事项/284
7.6 管理复制/285
7.6.1 添加项目/285
7.6.2 删除项目/286
7.6.3 复制监视器/286
7.6.4 提高复制性能/287
7.7 小结/288
第3篇 SQL Server开发
第8章 数据库设计/292
8.1 实体——关系模型/292
8.1.1 基本概念/292
8.1.2 实体集/293
8.1.3 关系集/294
8.1.4 属性/295
8.2 关系/295
8.2.1 一对一的关系/296
8.2.2 一对多的关系/296
8.2.3 多对多的关系/297
8.3 范式/298
8.3.1 第一范式/298
8.3.2 第二范式/299
8.3.3 第三范式/300
8.3.4 Boyce-Codd范式/302
8.3.5 其他范式/302
8.4 数据库建模/303
8.4.1 E-R图/303
8.4.2 关系图/304
8.5 使用PowerDesigner进行建模/306
8.5.1 PowerDesigner简介/306
8.5.2 PowerDesigner支持的模型/306
8.5.3 建立概念模型/307
8.5.4 建立物理模型/311
8.5.5 生成数据库/312
8.5.6 使用逆向工程生成物理模型/313
8.6 小结/316
第9章 SQL Server与CLR集成/318
9.1 了解.NET和CLR/318
9.1.1 .NET简介/318
9.1.2 C#简介/319
9.1.3 CLR集成概述/321
9.2 使用CLR集成的命名空间/322
9.3 SQL Server中的程序集/323
9.3.1 程序集简介/324
9.3.2 使用T-SQL添加程序集/324
9.3.3 使用SSMS添加程序集/326
9.3.4 修改程序集/327
9.3.5 删除程序集/328
9.4 创建CLR函数/329
9.4.1 使用C#编写CLR标量值函数/329
9.4.2 在SQL Server中使用CLR标量值函数/331
9.4.3 使用C#编写CLR表值函数/333
9.4.4 在SQL Server中使用CLR表值函数/334
9.5 创建CLR存储过程/335
9.5.1 使用C#编写CLR存储过程所需的函数/336
9.5.2 在SQL Server中使用CLR存储过程/337
9.5.3 创建有OUTPUT参数的CLR存储过程/338
9.6 创建CLR触发器/339
9.6.1 使用C#编写CLR触发器/339
9.6.2 在SQL Server中使用CLR触发器/341
9.7 创建用户定义聚合函数/342
9.7.1 使用C#编写聚合函数/342
9.7.2 在SQL Server中创建用户定义聚合函数/343
9.8 创建CLR用户定义类型/345
9.8.1 使用C#定义类型/345
9.8.2 在SQL Server中使用CLR用户定义类型/346
9.9 小结/347
第10章 在SQL Server中使用XML/349
10.1 XML概述/349
10.1.1 XML简介/349
10.1.2 XML数据的结构/350
10.1.3 XML文档模式/351
10.2 FOR XML子句的模式/353
10.2.1 RAW模式/353
10.2.2 AUTO模式/355
10.2.3 EXPLICIT模式/356
10.2.4 PATH模式/359
10.3 SQL Server 2008对XML的支持/359
10.3.1 对FOR XML子句的增强/359
10.3.2 OPENXML()函数/363
10.4 XML数据类型/364
10.4.1 XML数据类型简介/364
10.4.2 使用非类型化XML/365
10.4.3 管理XML架构集合/366
10.4.4 使用类型化XML/367
10.5 XML类型的方法/368
10.5.1 用query()方法查询XML/369
10.5.2 用exists()方法判断查询是否有结果/369
10.5.3 用value()方法返回查询的原子值/370
10.5.4 用modify()方法修改XML的内容/371
10.5.5 用nodes()方法实现XML数据到关系数据的转变/374
10.6 XML索引/375
10.6.1 XML索引简介/375
10.6.2 创建XML索引/377
10.6.3 修改与删除XML索引/379
10.7 使用XQuery/380
10.7.1 XQuery基础/380
10.7.2 FLWOR语句/387
10.7.3 XQuery条件表达式/390
10.7.4 XQuery运算符/391
10.7.5 XQuery函数/392
10.8 小结/392
第11章 使用ADO.NET/393
11.1 ADO.NET概述/393
11.1.1 ADO.NET发展历史/393
11.1.2 ADO.NET的结构/394
11.1.3 ADO.NET的优点/396
11.2 建立与管理连接/396
11.2.1 连接字符串/396
11.2.2 建立和断开连接/398
11.2.3 数据库连接池概述/399
11.2.4 创建连接池/400
11.2.5 添加连接/400
11.2.6 移除连接/400
11.2.7 配置连接池/401
11.3 使用SqlCommand执行数据操作/401
11.3.1 构造SqlCommand对象/402
11.3.2 SqlCommand提供的方法/403
11.4 使用SqlDataReader读取数据/404
11.4.1 使用SqlDataReader获得数据流/404
11.4.2 使用SqlDataReader获得对象/406
11.5 使用DataSet填充SqlDataAdapter/407
11.5.1 SqlDataAdapter的使用/407
11.5.2 DataSet的结构/408
11.5.3 DataSet中的集合——DataTable/408
11.5.4 DataSet中的数据行——DataRow/409
11.5.5 DataSet中的数据列——DataColumn/410
11.5.6 DataSet中的数据视图——DataView/411
11.6 事务处理/412
11.6.1 使用SqlTransaction处理事务/412
11.6.2 使用TransactionScope处理分布式事务/413
11.7 使用数据访问应用程序块/415
11.7.1 数据访问应用程序块简介/415
11.7.2 数据访问应用程序块的使用/417
11.8 使用LINQ操作数据库/418
11.8.1 LINQ基础/418
11.8.2 创建LINQ to SQL/420
11.8.3 使用LINQ进行多表查询/423
11.8.4 使用LINQ的其他查询/424
11.8.5 使用LINQ to SQL修改数据/426
11.8.6 使用LINQ to SQL的其他操作/427
11.9 小结/429
第12章 使用SMO编程管理数据库对象/430
12.1 SMO简介/430
12.2 SMO对象模型/431
12.2.1 SMO对象和URN简介/431
12.2.2 获得SMO对象属性/433
12.2.3 Server对象简介/434
12.2.4 Database对象简介/435
12.2.5 Table对象简介/436
12.2.6 其他对象简介/437
12.3 创建SMO应用程序/438
12.3.1 在VS中创建SMO项目/438
12.3.2 使用SMO管理数据库/439
12.3.3 使用SMO管理表/442
12.3.4 使用SMO管理存储过程/444
12.3.5 使用SMO生成脚本/446
12.4 小结/448
第13章 高级T-SQL语法/449
13.1 SQL Server 2005新增语法/449
13.1.1 排名函数/449
13.1.2 异常处理/453
13.1.3 APPLY操作符/455
13.1.4 PIVOT和UNPIVOT运算符/455
13.1.5 OUTPUT语法/457
13.1.6 公用表表达式CTE/460
13.1.7 TOP增强/462
13.1.8 TABLESAMPLE子句/463
13.2 SQL Server 2008新增语法/465
13.2.1 T-SQL基础增强/465
13.2.2 Grouping Sets语法/466
13.2.3 Merge语法/468
13.2.4 表值参数TVP/470
13.3 小结/472
第14章 Service Broker——异步应用程序平台/473
14.1 Service Broker简介/473
14.1.1 Service Broker是什么/473
14.1.2 Service Broker的作用/474
14.1.3 Service Broker的优点/476
14.2 会话对象/479
14.2.1 消息类型/479
14.2.2 管理消息类型/480
14.2.3 约定/482
14.2.4 管理约定/482
14.2.5 队列/483
14.2.6 管理队列/484
14.2.7 服务/486
14.2.8 管理服务/487
14.3 会话对话/488
14.3.1 对话过程/488
14.3.2 发起和结束会话/490
14.3.3 发送和接收消息/492
14.3.4 会话组/494
14.3.5 单个数据库的会话/496
14.4 Service Broker网络会话/498
14.4.1 Service Broker端点/498
14.4.2 路由/500
14.5 小结/501
第15章 空间数据类型/502
15.1 空间数据类型简介/502
15.1.1 空间数据类型概述/502
15.1.2 WKT简介/503
15.1.3 空间引用标识符/504
15.1.4 空间类/505
15.2 geometry几何数据类型/505
15.2.1 Point点的使用/506
15.2.2 MultiPoint点集的使用/507
15.2.3 LineString线的使用/508
15.2.4 MultiLineString线集的使用/510
15.2.5 Polygon面的使用/511
15.2.6 MultiPolygon面集的使用/513
15.2.7 GeometryCollection几何集合的使用/514
15.2.8 操作几何图形实例/515
15.2.9 几何图形实例的属性和方法/521
15.2.10 几何图形实例之间的关系/524
15.3 geography地理数据类型/528
15.3.1 创建地域实例/528
15.3.2 地域实例的属性和方法/531
15.3.3 地域实例之间的关系/533
15.4 空间索引/533
15.4.1 空间索引概述/533
15.4.2 使用T-SQL创建空间索引/538
15.4.3 使用SSMS创建空间索引/540
15.4.4 管理空间索引/542
15.5 小结/543
第16章 跨实例链接/544
16.1 链接服务器/544
16.1.1 链接服务器简介/544
16.1.2 使用T-SQL创建链接服务器/544
16.1.3 使用SSMS创建链接服务器/548
16.1.4 修改链接服务器属性/550
16.1.5 使用链接服务器/551
16.2 同义词/552
16.2.1 同义词简介/552
16.2.2 创建同义词/553
16.2.3 使用同义词/554
16.3 深入探讨跨实例链接/555
16.3.1 数据查询方式/555
16.3.2 链接服务器的安全/556
16.3.3 目录服务/556
16.3.4 索引服务/557
16.4 小结/558
第17章 数据库管理自动化/559
17.1 SQL Server代理/559
17.1.1 SQL Server代理简介/559
17.1.2 启用SQL Server代理/560
17.2 配置数据库作业/562
17.2.1 创建作业/562
17.2.2 创建作业步骤/564
17.2.3 创建计划/567
17.2.4 运行作业/571
17.2.5 监视作业/573
17.3 数据库邮件/574
17.3.1 数据库邮件简介/574
17.3.2 配置数据库邮件/576
17.3.3 如何使用数据库邮件/579
17.4 数据库警报/580
17.4.1 创建操作员/580
17.4.2 创建警报/581
17.4.3 为SQL Server代理配置数据库邮件/584
17.4.4 为作业设置通知/585
17.5 维护计划/586
17.5.1 维护计划向导/586
17.5.2 配置维护计划/590
17.5.3 维护计划管理/593
17.6 小结/593
第18章 商务智能/594
18.1 商务智能简介/594
18.2 集成服务/595
18.2.1 集成服务简介/595
18.2.2 使用导入导出向导转换数据/595
18.2.3 Excel数据的导入导出/599
18.2.4 数据查找/602
18.2.5 数据处理/604
18.2.6 异常处理/607
18.2.7 变量的使用/608
18.2.8 使用容器进行批量导入/609
18.3 分析服务/611
18.3.1 分析服务简介/611
18.3.2 创建数据源和数据源视图/613
18.3.3 创建多维数据集/614
18.3.4 部署分析服务/618
18.3.5 显示分析数据/619
18.4 报表服务/620
18.4.1 报表服务简介/621
18.4.2 报表设计/621
18.4.3 报表发布/623
18.4.4 报表展示/625
18.5 小结/626
第4篇 数据库性能优化
第19章 数据存储与索引/628
19.1 数据库对象分配/628
19.1.1 对象的存储/628
19.1.2 区-管理空间的基本单位/629
19.2 索引/630
19.2.1 索引简介/630
19.2.2 聚集索引/631
19.2.3 非聚集索引/633
19.2.4 堆/634
19.2.5 创建索引/635
19.2.6 管理索引/637
19.3 索引选项/639
19.3.1 填充因子/639
19.3.2 联机索引操作/640
19.3.3 其他高级选项/642
19.4 数据文件分区/643
19.4.1 分区概述/643
19.4.2 文件和文件组/644
19.4.3 分区函数/646
19.4.4 分区方案/648
19.4.5 分区表/649
19.4.6 分区索引/650
19.5 全文搜索/651
19.5.1 全文搜索概述/651
19.5.2 全文目录/652
19.5.3 全文索引/654
19.5.4 使用全文搜索/656
19.6 使用FILESTREAM存储文件/657
19.6.1 FILESTREAM概述/658
19.6.2 创建FILESTREAM/658
19.6.3 管理与使用FILESTREAM/660
19.7 小结/661
第20章 数据查询/662
20.1 执行计划/662
20.1.1 执行计划缓存/662
20.1.2 使用T-SQL查看执行计划/663
20.1.3 使用SSMS图形显示执行计划/664
20.1.4 重新编译执行计划/665
20.2 联接/668
20.2.1 嵌套循环联接/668
20.2.2 合并联接/669
20.2.3 哈希联接/670
20.3 SARG查询参数/671
20.3.1 SARG简介/671
20.3.2 在查询中使用SARG/671
20.4 统计信息/673
20.4.1 统计信息简介/673
20.4.2 使用T-SQL创建统计信息/674
20.4.3 使用T-SQL管理统计信息/675
20.4.4 使用SSMS创建和管理统计信息/676
20.5 小结/677
第21章 事务处理/678
21.1 事务/678
21.1.1 事务概述/678
21.1.2 使用事务/679
21.1.3 嵌套事务/681
21.1.4 事务保存点/681
21.2 锁/682
21.2.1 锁的模式/682
21.2.2 锁的兼容性/684
21.2.3 锁的资源和粒度/685
21.3 事务隔离级别/686
21.3.1 并发产生的影响/686
21.3.2 隔离级别概述/687
21.3.3 使用T-SQL设置隔离级别/688
21.3.4 隔离级别详情/689
21.4 死锁/694
21.4.1 死锁简介/694
21.4.2 多表死锁/695
21.4.3 高隔离级别造成单表死锁/696
21.4.4 索引建立不当造成单表死锁/696
21.4.5 死锁监视与预防/698
21.5 小结/699
第22章 数据库系统调优工具/700
22.1 数据库报表/700
22.1.1 查看数据库实例报表/700
22.1.2 查看单个数据库报表/701
22.2 使用SQL Server Profiler跟踪数据库/701
22.2.1 创建SQL Server Profiler/702
22.2.2 查询SQL Server Profiler/703
22.3 性能监视器/704
22.3.1 性能监视器简介/704
22.3.2 常用的计数器/705
22.3.3 计数器日志/707
22.4 使用优化顾问优化SQL语句/708
22.4.1 优化顾问简介/708
22.4.2 使用优化顾问优化SQL语句/709
22.5 动态管理视图和函数/710
22.5.1 动态管理视图和函数简介/711
22.5.2 动态管理视图和函数的使用/711
22.6 小结/713
猜您喜欢