图书介绍
SQL Server 2008宝典PDF|Epub|txt|kindle电子书版本网盘下载
- (美)尼尔森著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302254515
- 出版时间:2011
- 标注页数:1437页
- 文件大小:240MB
- 文件页数:1473页
- 主题词:关系数据库-数据库管理系统,SQL Server 2008
PDF下载
下载说明
SQL Server 2008宝典PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 入门3
第1章 SQL Server世界3
1.1 令人满意的选择4
1.2 SQL Server数据库引擎6
1.2.1 数据库引擎6
1.2.2 Transact-SQL8
1.2.3 基于策略的管理9
1.2.4 .NET公共语言运行库10
1.2.5 Service Broker10
1.2.6 复制服务10
1.2.7 集成的全文搜索11
1.2.8 服务器管理对象11
1.3 SQL Server服务11
1.3.1 SQL Server Agent11
1.3.2 数据库邮件12
1.3.3 分布式事务处理协调器12
1.4 商业智能13
1.4.1 Business Intelligence Development Studio13
1.4.2 集成服务14
1.4.3 分析服务14
1.4.4 报表服务16
1.5 用户界面和工具16
1.5.1 SQL Server Management Studio17
1.5.2 SQL Server Configuration Manager17
1.5.3 SQL Profiler/Trace18
1.5.4 性能监视器18
1.5.5 命令行实用程序18
1.5.6 联机丛书19
1.6 SQL Server版本19
1.7 浏览元数据21
1.7.1 系统数据库21
1.7.2 元数据视图21
1.8 新功能22
1.9 小结24
第2章 数据架构25
2.1 信息架构原则26
2.2 数据库目标26
2.2.1 适用性26
2.2.2 可扩展性27
2.2.3 数据完整性27
2.2.4 性能/可扩展性28
2.2.5 可用性28
2.2.6 安全性29
2.3 智能数据库设计30
2.3.1 数据库系统31
2.3.2 物理架构32
2.3.3 基于集的查询33
2.3.4 索引33
2.3.5 并发性34
2.3.6 高级可扩展性34
2.3.7 性能框架35
2.3.8 争议和异议35
2.4 小结36
第3章 关系数据库设计37
3.1 数据库基础知识38
3.1.1 数字化数据库的优点38
3.1.2 表、行和列39
3.1.3 数据库设计阶段39
3.1.4 规范化40
3.1.5 三个“一规则”41
3.1.6 标识实体42
3.1.7 泛化42
3.1.8 主键44
3.1.9 外键44
3.1.10 基数45
3.1.11 可选性46
3.2 数据设计模式47
3.2.1 一对多模式47
3.2.2 一对一模式48
3.2.3 多对多模式48
3.2.4 父型/子型模式50
3.2.5 域完整性查找模式51
3.2.6 递归模式51
3.2.7 数据库设计层54
3.3 范式54
3.3.1 第一范式(1NF)55
3.3.2 第二范式(2NF)56
3.3.3 第三范式(3NF)57
3.3.4 Boyce-Codd范式(BCNF)58
3.3.5 第四范式(4NF)58
3.3.6 第五范式(5NF)59
3.4 小结59
第4章 安装SQL Server 200861
4.1 选择服务器硬件61
4.1.1 CPU的规划62
4.1.2 丰富的内存62
4.1.3 磁盘驱动的子系统62
4.1.4 网络性能65
4.2 准备服务器65
4.2.1 专用服务器65
4.2.2 操作系统66
4.2.3 服务账户67
4.2.4 服务器实例67
4.3 安装68
4.3.1 有人值守的安装69
4.3.2 无人值守的安装72
4.3.3 远程安装73
4.4 以前版本的升级73
4.5 迁移到SQL Server74
4.5.1 从Access迁移74
4.5.2 Migration Assistant75
4.6 删除SQL Server77
4.7 小结77
第5章 客户端连接79
5.1 启用服务器连接79
5.1.1 服务器配置管理器80
5.1.2 SQL本地客户端连接(SNAC)81
5.2 SQL Server本地客户端功能81
5.2.1 要求82
5.2.2 异步操作82
5.2.3 多活动结果集(MARS)83
5.2.4 XML数据类型83
5.2.5 用户定义类型83
5.2.6 大值类型83
5.2.7 过期密码处理83
5.2.8 快照隔离84
5.3 小结84
第6章 使用Management Studio85
6.1 组织界面87
6.1.1 窗口放置88
6.1.2 上下文菜单90
6.2 Registered Servers91
6.2.1 管理服务器91
6.2.2 服务器组92
6.3 Object Explorer93
6.3.1 导航树93
6.3.2 筛选object Explorer95
6.3.3 Object Explorer Details页面95
6.3.4 表设计器95
6.3.5 创建数据库关系图96
6.3.6 Query Designer97
6.3.7 Object Explorer报表99
6.4 使用Query Editor100
6.4.1 打开连接到服务器的查询100
6.4.2 打开.sql文件100
6.4.3 快捷方式和书签102
6.4.4 查询选项103
6.4.5 执行SQL批处理103
6.4.6 结果103
6.4.7 查看查询执行计划104
6.5 使用Solution Explorer105
6.6 以模板为基础编写代码106
6.6.1 模板的使用106
6.6.2 模板的管理106
6.7 小结106
第7章 用PowerShell编写脚本109
7.1 使用PowerShell的原因110
7.2 PowerShell基本知识110
7.2.1 语言特性110
7.2.2 创建脚本116
7.3 与SQL Server通信121
7.3.1 SQL Server管理对象121
7.3.2 ADO.NET125
7.4 编写SQL Server任务脚本127
7.4.1 管理任务127
7.4.2 基于数据的任务135
7.5 SQL Server PowerShell扩展137
7.5.1 SQLPS.exe137
7.5.2 SQL PSDrive——SQLSERVER:138
7.5.3 SQL cmdlet139
7.6 小结140
第Ⅱ部分 用Select操作处理数据143
第8章 基本的查询流143
8.1 了解查询流144
8.1.1 查询语句的语法流144
8.1.2 查询语句的图形化视图144
8.1.3 查询语句的逻辑流145
8.1.4 查询语句的物理流146
8.2 From子句数据源147
8.2.1 可能的数据源147
8.2.2 表别名148
8.2.3 表名称148
8.2.4 完全限定的名称149
8.3 WHERE条件149
8.3.1 使用BETWEEN搜索条件150
8.3.2 与列表比较151
8.3.3 使用LIKE搜索条件153
8.3.4 多个WHERE条件155
8.4 列、星号、别名和表达式157
8.4.1 星号157
8.4.2 别名157
8.4.3 限定的列158
8.5 结果集排序159
8.5.1 通过使用列名称来指定顺序160
8.5.2 使用表达式指定顺序160
8.5.3 使用列别名指定顺序161
8.5.4 使用列的顺序位置161
8.5.5 ORDER BY和排序规则162
8.6 SELECT DISTINCT164
8.7 Top()谓词165
8.7.1 WITH TIES选项166
8.7.2 随机行选择167
8.8 小结167
第9章 数据类型、表达式和标量函数169
9.1 构建表达式169
9.1.1 运算符170
9.1.2 按位运算符171
9.1.3 CASE表达式174
9.1.4 使用空值176
9.2 标量函数180
9.2.1 用户定义函数181
9.2.2 日期和时间函数181
9.3 字符串函数185
9.4 Soundex函数189
9.4.1 使用SOUNDEX()函数190
9.4.2 使用DIFFERENCE() Soundex函数192
9.5 数据类型的转换函数192
9.6 服务器环境信息195
9.7 小结196
第10章 用联接和联合合并数据197
10.1 使用联接198
10.2 内联接200
10.2.1 用Query Designer构建内联接200
10.2.2 在SQL代码中创建内联接201
10.2.3 返回的行数202
10.2.4 ANSI SQL 89联接203
10.2.5 多个数据源的联接203
10.3 外联接205
10.3.1 使用Query Designer创建外联接206
10.3.2 T-SQL代码和外联接207
10.3.3 外联接和可选的外键208
10.3.4 全外联接209
10.3.5 Red thing blue thing示例209
10.3.6 在外联接中设置条件211
10.3.7 多个外联接212
10.4 自联接212
10.5 交叉(无限制)联接214
10.6 特殊联接215
10.6.1 多条件联接215
10.6.2 θ(theta)联接216
10.6.3 非键联接216
10.7 差集查询217
10.7.1 左差集查询217
10.7.2 全差集查询219
10.8 使用联合219
10.8.1 Union ALL查询220
10.8.2 交集联合221
10.8.3 差值联合/EXCEPT221
10.9 小结222
第11章 包含子查询和CTE的数据223
11.1 方法和位置223
11.2 简单子查询225
11.2.1 公用表表达式227
11.2.2 运用标量子查询228
11.2.3 把子查询用作列表229
11.2.4 把子查询用作表233
11.2.5 行构造函数235
11.2.6 ALL、SOME和ANY条件236
11.3 相关子查询237
11.3.1 WHERE子句中的相关性237
11.3.2 运用APPLY关联已派生的表241
11.4 关系除法242
11.4.1 有余数的关系除法243
11.4.2 准确的关系除法245
11.5 可组合SQL247
11.6 小结248
第12章 聚合数据251
12.1 简单聚合251
12.1.1 基本聚合252
12.1.2 聚合、平均和空值254
12.1.3 聚合函数在Query Designer中的使用255
12.1.4 统计255
12.2 结果集中的分组256
12.2.1 简单分组257
12.2.2 分组集258
12.2.3 筛选已分组的结果259
12.3 恶化查询260
12.3.1 由描述包含组260
12.3.2 由值包含所有组262
12.3.3 嵌套聚合263
12.3.4 包含详细的描述264
12.4 OLAP266
12.4.1 ROLUP小计267
12.4.2 多维数据集查询268
12.5 创建交叉表查询269
12.5.1 透视法270
12.5.2 CASE表达式方法271
12.5.3 动态交叉表查询272
12.5.4 逆透视273
12.6 累计总数274
12.6.1 相关子查询解决方案275
12.6.2 T-SQL游标解决方案275
12.6.3 多重赋值变量解决方案276
12.7 小结277
第13章 窗口化与排名279
13.1 窗口化279
13.1.1 OVER()子句280
13.1.2 在窗口内分区281
13.2 排名函数282
13.2.1 ROW_MUMBER()函数282
13.2.2 Rank()函数和DENSE_RANK()函数283
13.2.3 ntile()函数285
13.2.4 聚合函数286
13.3 小结287
第14章 通过视图投影数据289
14.1 使用视图的理由289
14.2 基本视图291
14.2.1 运用Query Designer创建视图291
14.2.2 用DDL代码创建视图293
14.2.3 执行视图294
14.2.4 更改并删除视图295
14.3 从更广泛的角度看视图295
14.3.1 列别名296
14.3.2 ORDER BY和视图296
14.3.3 视图限制297
14.3.4 嵌套视图297
14.3.5 通过视图更新298
14.3.6 视图和性能299
14.4 锁定视图300
14.4.1 未经检查的数据300
14.4.2 保护数据301
14.4.3 保护视图302
14.4.4 加密视图的select语句303
14.4.5 应用程序元数据303
14.5 运用同义词304
14.6 小结304
第15章 修改数据305
15.1 插入数据306
15.1.1 插入简单的值行307
15.1.2 从SELECT插入结果集309
15.1.3 从存储过程插入结果集310
15.1.4 创建默认行312
15.1.5 在插入数据时创建表312
15.2 更新数据315
15.2.1 更新单个表315
15.2.2 执行全局搜索和替代316
15.2.3 更新数据时引用多个表317
15.3 删除数据322
15.3.1 删除时引用多个数据源322
15.3.2 级联删除323
15.3.3 物理删除数据的其他选择324
15.4 合并数据325
15.5 返回修改后的数据329
15.5.1 从插入返回数据329
15.5.2 从更新返回数据329
15.5.3 从删除返回数据330
15.5.4 从合并返回数据330
15.5.5 把数据返回到表中331
15.6 小结331
第16章 修改障碍333
16.1 数据类型/长度334
16.2 主键约束和唯一约束334
16.2.1 标识列335
16.2.2 全局唯一标识符(GUID)337
16.3 删除复制行339
16.3.1 运用窗口化删除复制行340
16.3.2 运用代理键删除复制行341
16.3.3 运用SELECT distinct INTO删除复制行342
16.4 外键约束343
16.5 空值约束和默认约束344
16.6 CHECK约束345
16.7 INSTEAD OF触发器346
16.8 AFTER触发器347
16.9 不可更新的视图348
16.10 有检查选项的视图348
16.11 计算列350
16.12 安全约束350
16.13 小结351
第Ⅲ部分 关系之外355
第17章 遍历层次结构355
17.1 邻接表模式357
17.1.1 单层查询359
17.1.2 子树查询361
17.1.3 节点是否为上级369
17.1.4 确定节点的层次369
17.1.5 重新设置邻接表的父级369
17.1.6 索引邻接表370
17.1.7 循环错误370
17.1.8 邻接表变体371
17.1.9 邻接表的优势与缺陷373
17.2 物化路径模式373
17.2.1 子树查询375
17.2.2 节点是否在子树中378
17.2.3 确定节点层次378
17.2.4 单层查询379
17.2.5 重新设置物化路径的父级380
17.2.6 索引物化路径380
17.2.7 物化路径的优势与缺陷380
17.3 运用新的HierarchyID381
17.3.1 选择单个节点382
17.3.2 扫描上级383
17.3.3 执行子树搜索383
17.3.4 单层搜索384
17.3.5 插入新的节点385
17.3.6 性能385
17.3.7 HierarchyID的优势与缺陷385
17.4 小结386
第18章 处理XML数据387
18.1 SQL Server 2008中的XML处理功能388
18.1.1 生成XML文档389
18.1.2 查询XML文档389
18.1.3 验证XML文档390
18.2 示例表和数据391
18.3 XML数据类型393
18.3.1 类型化XML和非类型化XML394
18.3.2 创建并使用XML列394
18.3.3 声明和使用XML变量395
18.3.4 使用XML参数并返回值396
18.3.5 从磁盘文件加载/查询XML文档397
18.3.6 XML数据类型的限制398
18.4 理解XML数据类型方法399
18.4.1 XPath399
18.4.2 value()方法400
18.4.3 nodes()方法400
18.4.4 exist()方法401
18.4.5 query()方法402
18.4.6 modify()方法402
18.4.7 用关系表联接XML节点402
18.4.8 XQuery表达式中变量和筛选器的使用403
18.4.9 访问父节点404
18.5 运用FORXML生成XML输出405
18.5.1 FOR XML AUTO405
18.5.2 FOR XML RQW407
18.5.3 FOR XML EXPLICIT408
18.5.4 FOR XML PATH414
18.5.5 TYPE指令417
18.5.6 XSINIL指令418
18.5.7 生成XML架构信息419
18.5.8 生成XML名称空间420
18.6 了解XQuery操作与FLWOR操作421
18.6.1 简单查询422
18.6.2 FLWOR操作422
18.6.3 SQL Server 2008中XQuery的新颖之处424
18.7 了解XQuery函数425
18.7.1 字符串函数425
18.7.2 数值函数与聚合函数425
18.7.3 其他函数426
18.8 执行XML数据修改426
18.8.1 插入操作426
18.8.2 更新操作427
18.8.3 删除操作427
18.8.4 SQL Server 2008中XML DML操作的新增功能427
18.9 处理名称空间428
18.10 运用OPENXML()切碎XML429
18.11 XSD和XML架构集合431
18.11.1 创建XML架构集合431
18.11.2 创建类型化XML列和变量432
18.11.3 执行验证432
18.11.4 XML DOCUMENT和CONTENT433
18.11.5 更改XML架构集合433
18.11.6 架构集合中有什么434
18.11.7 SQL Server 2008中XSD的新颖之处435
18.12 了解XML索引435
18.13 XML最佳实践436
18.14 小结437
第19章 运用集成的全文搜索439
19.1 配置全文搜索目录442
19.1.1 使用向导创建目录442
19.1.2 使用T-SQL代码创建目录443
19.1.3 把数据推送全文索引444
19.1.4 用Management Studio维护目录444
19.1.5 使用T-SQL代码维护目录445
19.2 词搜索445
19.2.1 CONTAINS函数446
19.2.2 CONTAINSTABLE函数446
19.3 高级搜索选项448
19.3.1 多词搜索448
19.3.2 用通配符进行搜索449
19.3.3 短语搜索449
19.3.4 邻近词搜索449
19.3.5 词变形搜索450
19.3.6 辞典搜索451
19.3.7 可变词权重搜索451
19.4 模糊搜索453
19.4.1 Freetext453
19.4.2 FreetextTable454
19.5 性能455
19.6 小结455
第Ⅳ部分 使用SQL Server开发459
第20章 创建物理数据库架构459
20.1 设计物理数据库架构460
20.1.1 从逻辑到物理的选项460
20.1.2 精简数据模式461
20.1.3 性能的设计461
20.1.4 负责任的非规范化461
20.1.5 可扩展性的设计462
20.2 创建数据库463
20.2.1 Create DDL命令463
20.2.2 数据库文件的概念465
20.2.3 配置文件的增大465
20.2.4 使用多个文件467
20.2.5 规划多个文件组469
20.3 创建表471
20.3.1 使用Management Studio设计表471
20.3.2 使用SQL脚本473
20.3.3 架构474
20.3.4 列名474
20.3.5 文件组475
20.4 创建键475
20.4.1 主键476
20.4.2 代理争论:优点和缺点476
20.4.3 数据库设计层477
20.4.4 创建外键480
20.5 创建用户数据列484
20.5.1 列的数据类型485
20.5.2 计算列487
20.5.3 稀疏列488
20.5.4 列约束和默认值488
20.6 创建索引491
20.6.1 复合索引492
20.6.2 主键493
20.6.3 文件组位置493
20.6.4 索引选项493
20.6.5 包含列493
20.6.6 筛选索引494
20.7 小结496
第21章 使用T-SQL编程499
21.1 Transact-SQL基础500
21.1.1 T-SQL批处理500
21.1.2 T-SQL格式化502
21.2 变量503
21.2.1 变量默认和作用域503
21.2.2 使用SET命令和SELECT命令504
21.2.3 增量变量505
21.2.4 条件选择506
21.2.5 在SQL查询中使用变量506
21.2.6 多重赋值变量507
21.3 过程流508
21.3.1 IF命令508
21.3.2 WHILE命令510
21.3.3 GOTO命令511
21.4 通过代码介绍SQL Server511
21.4.1 动态管理视图511
21.4.2 sp_help512
21.4.3 系统函数512
21.5 临时表和表变量513
21.5.1 本地临时表513
21.5.2 全局临时表514
21.5.3 表变量514
21.6 小结515
第22章 查杀游标517
22.1 游标解析518
22.1.1 创建游标的5个步骤518
22.1.2 管理游标519
22.1.3 查看游标521
22.1.4 游标选项521
22.1.5 更新游标522
22.1.6 游标的作用域523
22.1.7 游标和事务523
22.2 游标策略523
22.3 复杂逻辑游标的重构524
22.3.1 运用用户定义的函数来更新查询525
22.3.2 多重查询526
22.3.3 有CASE表达式的查询527
22.4 小结528
第23章 T-SQL错误处理529
23.1 遗留错误处理529
23.1.1 @@error系统函数530
23.1.2 @@rowcount系统函数531
23.2 RAISERROR命令531
23.2.1 简单的RAISERROR格式532
23.2.2 改进的RAISERROR格式532
23.2.3 错误严重性532
23.2.4 存储消息533
23.3 Try...Catch536
23.3.1 Catch块537
23.3.2 嵌套try/catch和重抛错误538
23.4 T-SQL致命错误539
23.5 小结539
第24章 存储过程的开发541
24.1 管理存储过程542
24.1.1 创建、更改和删除542
24.1.2 执行存储过程543
24.1.3 返回记录集543
24.1.4 编译存储过程543
24.1.5 存储过程加密544
24.1.6 系统存储过程544
24.1.7 查询中存储过程的运用545
24.1.8 远程存储过程的执行546
24.2 把数据传递到存储过程546
24.2.1 输入参数546
24.2.2 参数默认值548
24.2.3 表值参数549
24.3 从存储过程中返回数据551
24.3.1 输出参数552
24.3.2 RETURN命令的运用553
24.3.3 返回数据的路径和范围554
24.4 小结555
第25章 构建用户定义的函数557
25.1 标量函数559
25.1.1 限制559
25.1.2 创建标量函数559
25.1.3 调用标量函数561
25.2 内联表值函数561
25.2.1 创建内联表值函数561
25.2.2 调用内联表值函数562
25.2.3 使用参数562
25.2.4 把用户定义函数相互关联564
25.2.5 使用架构绑定创建函数565
25.3 多语句表值函数566
25.3.1 创建多语句表值函数566
25.3.2 调用函数567
25.4 小结567
第26章 触发器的创建569
26.1 触发器基础569
26.1.1 事务流570
26.1.2 触发器的创建571
26.1.3 AFTER触发器572
26.1.4 INSTEAD OF触发器572
26.1.5 触发器限制574
26.1.6 禁用触发器574
26.1.7 列出触发器574
26.1.8 触发器和安全性575
26.2 处理事务575
26.2.1 已更新列的确定575
26.2.2 inserted和deleted逻辑表577
26.2.3 开发支持多行的触发器578
26.3 多个触发器之间的交互579
26.3.1 触发器的组织580
26.3.2 嵌套触发器580
26.3.3 递归触发器580
26.3.4 INSTEAD OF触发器和AFTER触发器582
26.3.5 多个AFTER触发器582
26.4 事务聚合处理583
26.4.1 库存事务触发器584
26.4.2 库存触发器585
26.5 小结587
第27章 DDL触发器589
27.1 DDL触发器的管理590
27.1.1 DDL触发器的创建和更改590
27.1.2 触发器作用域591
27.1.3 DDL触发器和安全性592
27.1.4 启用和禁用DDL触发器592
27.1.5 删除DDL触发器593
27.2 DDL触发器的开发593
27.2.1 EventData()函数593
27.2.2 避免数据库对象的更改594
27.3 小结595
第28章 数据库抽象层的扩建597
28.1 CRUD存储过程598
28.2 Google型的搜索过程598
28.3 小结603
第29章 动态SQL和代码生成605
29.1 动态SQL的执行606
29.1.1 sp_executesql606
29.1.2 参数化查询606
29.1.3 动态SQL代码的开发607
29.1.4 代码生成609
29.2 防止SQL注入611
29.2.1 附加恶意代码612
29.2.2 Or 1=1612
29.2.3 绕开密码612
29.2.4 防止SQL Server注入攻击613
29.3 小结613
第Ⅴ部分 数据连接617
第30章 批量操作617
30.1 批量插入618
30.2 BULK INSERT选项619
30.3 BCP620
30.4 小结621
第31章 分布式查询的执行623
31.1 分布式查询的概念623
31.2 访问本地SQL Server数据库625
31.3 链接外部数据源626
31.3.1 使用Management Studio链接到SQL Server626
31.3.2 使用T-SQL链接到SQL Server629
31.3.3 与非SQL Server数据源的链接631
31.4 分布式查询的开发634
31.4.1 分布式查询和Management Studio635
31.4.2 分布式视图635
31.4.3 本地分布式查询635
31.4.4 传递分布式查询638
31.5 分布式事务640
31.5.1 分布式事务协调器641
31.5.2 分布式事务的开发641
31.5.3 分布式事务的监控642
31.6 小结643
第32章 用ADO.NET 3.5编程645
32.1 ADO.NET概述646
32.1.1 ADO646
32.1.2 ADO对象模型650
32.1.3 ADO.NET656
32.2 Visual Studio 2008中的ADO.NET666
32.2.1 Server Explorer666
32.2.2 调试ADO.NET667
32.2.3 应用程序跟踪667
32.3 应用程序构建基础668
32.3.1 连接到SQL Server669
32.3.2 ADO.NET 3.5 的新颖之处669
32.3.3 存储过程与参数化/即席查询670
32.3.4 数据适配器672
32.3.5 DataReader和Recordset673
32.3.6 流673
32.3.7 异步执行674
32.3.8 单个数据库值的使用674
32.3.9 数据修改675
32.3.10 绑定到控件675
32.4 小结676
第33章 Sync Framework677
33.1 Sync Framework示例678
33.1.1 Sync Framework概述684
33.1.2 Sync Services for ADO.NET 2.0688
33.2 小结696
第34章 LINQ697
34.1 LINQ概述698
34.1.1 LINQ概念699
34.1.2 标准查询操作符700
34.1.3 查询表达式语法702
34.2 LINQ to SQL705
34.2.1 例1:手动应用映射706
34.2.2 例2:更简易的方法708
34.3 LINQ to XML710
34.3.1 LINQ to XML举例711
34.4 LINQ to DataSet716
34.4.1 运用LINQ to DataSet查询DataSet716
34.4.2 使用LINQ to DataSet进行数据绑定719
34.5 LINQ to Entities721
34.5.1 运用LINQ创建并查询实体721
34.5.2 运用LINQ to Entities和Entity Framework查询多个表724
34.6 小结725
第35章 使用Service Broker进行异步消息传输727
35.1 配置消息队列728
35.2 使用会话729
35.2.1 将消息发送到队列729
35.2.2 接收消息729
35.3 监控Service Broker731
35.4 小结732
第36章 复制数据733
36.1 复制的概念735
36.1.1 复制的类型735
36.1.2 复制代理736
36.1.3 事务一致性737
36.2 配置复制737
36.2.1 创建发布服务器和分发服务器737
36.2.2 创建一个快照/事务发布739
36.2.3 创建事务/快照发布的推送订阅741
36.2.4 创建事务/快照发布的请求订阅742
36.2.5 创建对等拓扑743
36.2.6 创建一个合并发布744
36.2.7 Web同步745
36.3 小结745
第37章 使用Integration Services执行ETL747
37.1 设计环境748
37.1.1 连接管理器750
37.1.2 变量750
37.1.3 配置元素751
37.1.4 事件处理程序755
37.1.5 在开发中执行包755
37.2 Integration Services包元素756
37.2.1 连接管理器756
37.2.2 控制流元素759
37.2.3 数据流组件765
37.3 可维护和可管理的包775
37.3.1 日志记录776
37.3.2 包配置777
37.3.3 检查点重启777
37.4 部署包778
37.4.1 安装包778
37.4.2 执行包779
37.5 小结779
第38章 把Access作为SQL Server的前端781
38.1 Access-SQL Server使用案例场景782
38.2 从Access迁移到SQL Server782
38.3 设计Access前端783
38.4 连接SQL Server784
38.4.1 链接表和视图784
38.4.2 使用pass-through查询在本地表中缓存数据786
38.4.3 使用表值参数扩展pass-through查询的功能787
38.5 监控和故障排除789
38.6 即席查询和报表790
38.6.1 在服务器上预聚合数据790
38.6.2 数据的排序和筛选790
38.6.3 创建表单和报表792
38.6.4 导出和发布数据792
38.6.5 管理SQL Server数据库792
38.7 小结792
第Ⅵ部分 企业数据管理795
第39章 配置SQL Server795
39.1 设置选项795
39.1.1 配置服务器796
39.1.2 配置数据库799
39.1.3 配置连接800
39.2 配置选项801
39.2.1 显示高级选项801
39.2.2 启动/停止配置属性803
39.2.3 内存配置属性805
39.2.4 处理器配置属性809
39.2.5 安全配置属性815
39.2.6 连接配置属性818
39.2.7 高级服务器配置属性823
39.2.8 配置数据库自动选项827
39.2.9 游标配置属性829
39.2.10 SQL ANSI配置属性831
39.2.11 触发器配置属性837
39.2.12 数据库状态配置属性838
32.9.13 恢复配置属性840
39.3 小结843
第40章 基于策略的管理845
40.1 定义策略846
40.1.1 管理方面846
40.1.2 健康条件849
40.1.3 策略851
40.2 评估策略854
40.3 小结855
第41章 恢复计划857
41.1 恢复概念858
41.2 恢复模型859
41.2.1 简单恢复模型860
41.2.2 完整恢复模型860
41.2.3 大容量日志恢复模型862
41.2.4 设置恢复模型863
41.2.5 修改恢复模型863
41.3 备份数据库863
41.3.1 备份目标864
41.3.2 备份轮换864
41.3.3 用Management Studio执行备份864
41.3.4 用代码备份数据库867
41.3.5 用代码验证备份869
41.4 使用事务日志869
41.4.1 事务日志内870
41.4.2 备份事务日志871
41.4.3 截断日志872
41.4.4 事务日志和简单恢复模型872
41.5 恢复操作873
41.5.1 检测问题873
41.5.2 恢复顺序873
41.5.3 用Management Studio执行还原874
41.5.4 通过T-SQL代码还原876
41.6 系统数据库恢复880
41.6.1 master数据库880
41.6.2 MSDB系统数据库882
41.7 执行一个完全恢复882
41.8 小结883
第42章 维护数据库885
42.1 DBCC命令885
42.1.1 数据库完整性888
42.1.2 数据库文件大小896
42.1.3 繁杂的DBCC命令900
42.2 管理数据库维护901
42.2.1 计划数据库维护901
42.2.2 维护计划901
42.2.3 命令行维护907
42.2.4 监控数据库维护907
42.3 小结908
第43章 使用SQL Server Agent自动维护数据库909
43.1 设置SQL Server Agent910
43.2 理解警报、操作员和作业913
43.3 管理操作员913
43.4 管理警报914
43.4.1 创建用户自定义错误915
43.4.2 创建警报915
43.5 管理作业917
43.5.1 创建一个作业类别918
43.5.2 创建一个作业定义920
43.5.3 建立作业步骤921
43.5.4 配置一个作业计划922
43.5.5 处理完成、成功和失败的通知消息923
43.6 Database Mail924
43.7 小结930
第44章 传输数据库931
44.1 Copy Database Wizard932
44.2 使用SQL脚本938
44.3 分离和附加942
44.4 Import and Export Wizard944
44.5 小结947
第45章 数据库快照949
45.1 数据库快照的工作原理950
45.2 创建数据库快照951
45.3 使用数据库快照953
45.4 性能考虑和最佳实践956
45.5 小结957
第46章 日志传送959
46.1 可用性测试960
46.2 温备用可用性960
46.3 定义日志传送962
46.4 检查日志传送配置970
46.5 监视日志传送971
46.6 修改或删除日志传送972
46.7 切换角色974
46.8 小结974
第47章 数据库镜像977
47.1 数据库镜像概述977
47.2 定义数据库镜像979
47.3 检查数据库镜像配置990
47.4 监控数据库镜像992
47.4.1 使用Database Mirroring Monitor监控992
47.4.2 使用System Monitor监控995
47.4.3 使用SQL Server Profiler监控995
47.5 暂停或删除数据库镜像996
47.6 角色切换997
47.7 小结998
第48章 群集999
48.1 SQL Server 2008故障转移群集基础999
48.1.1 SQL Server 2008故障转移群集的工作原理1002
48.1.2 SQL Server 2008故障转移群集拓扑1002
48.2 SQL Server 2008故障转移群集中的增强1004
48.3 SQL Server 2008故障转移群集安装程序1006
48.3.1 规划SQL Server 2008故障转移群集1006
48.3.2 SQL Server 2008先决条件1009
48.3.3 创建一个单节点SQL Server 2008故障转移群集1010
48.3.4 添加一个节点到已存在的SQL Server 2008故障转移群集1021
48.3.5 安装后的任务1022
48.3.6 卸载一个SQL Server 2008故障转移群集1024
48.3.7 使用命令提示符安装一个故障转移群集1024
48.3.8 滚动升级和修补1026
48.3.9 维护一个SQL Server 2008故障转移群集1034
48.3.10 故障排除一个SQL Server 2008故障转移群集1036
48.4 小结1037
第Ⅶ部分 安全1041
第49章 身份验证原则1041
49.1 服务器级安全1042
49.2 数据库级安全1043
49.3 Windows安全1043
49.3.1 使用Windows安全1043
49.3.2 SQL Server登录1043
49.4 服务器安全1044
49.4.1 SQL Server身份验证模式1044
49.4.2 Windows身份验证1045
49.4.3 SQL Server登录1049
49.5 数据库安全1052
49.5.1 Guest登录1052
49.5.2 授予数据库的访问权限1052
49.5.3 固定数据库角色1054
49.5.4 用Management Studio指派固定数据库角色1054
49.5.5 应用程序角色1055
49.6 小结1056
第50章 授权安全对象1057
50.1 对象所有权1057
50.2 对象安全1058
50.2.1 标准数据库角色1058
50.2.2 对象权限1058
50.2.3 用代码授予对象权限1059
50.2.4 用代码撤消和拒绝对象权限1060
50.2.5 公共角色1060
50.2.6 用代码管理角色1060
50.2.7 分层角色结构1061
50.2.8 对象安全和Management Studio1061
50.2.9 存储过程execute as1063
50.3 一个示例安全模型1063
50.4 视图和安全1064
50.5 小结1065
第51章 数据加密1067
51.1 加密介绍1067
51.1.1 加密的类型1067
51.1.2 密钥的层次结构1068
51.2 加密数据1068
51.2.1 用密码短语加密1069
51.2.2 用对称密钥加密1070
51.2.3 使用非对称密钥1072
51.2.4 使用证书1072
51.3 透明数据加密1072
51.4 小结1073
第52章 行级安全性1075
52.1 Security表1076
52.2 分配权限1077
52.2.1 分配安全性1077
52.2.2 处理安全级别的更新1081
52.3 检查权限1083
52.3.1 安全检查存储过程1084
52.3.2 安全检查函数1084
52.3.3 使用NT登录1085
52.3.4 安全检查触发器1087
52.4 小结1088
第Ⅷ部分 监视和审计1091
第53章 数据审计触发器1091
53.1 AutoAudit1092
53.1.1 安装AutoAudit1092
53.1.2 审计表1093
53.1.3 运行AutoAudit1093
53.1.4 _Modified触发器1094
53.1.5 审计更改1094
53.1.6 查看行和取消对行的删除1095
53.1.7 查看行历史1096
53.1.8 撤消AutoAudit做的修改1097
53.2 审计的复杂性1097
53.2.1 审计相关的数据1097
53.2.2 审计选择语句1097
53.2.3 数据审计和安全性1098
53.2.4 数据审计和性能1098
53.3 小结1098
第54章 架构审计触发器1099
54.1 SchemaAudit表1100
54.2 SchemaAudit触发器1100
54.3 小结1101
第55章 性能监视器1103
55.1 使用Performance Monitor1103
55.1.1 系统监视器1104
55.1.2 计数器日志1106
55.2 小结1107
第56章 跟踪与探查1109
56.1 运行Profiler1110
56.1.1 定义一个新的跟踪1110
56.1.2 选择事件和数据列1111
56.1.3 筛选事件1113
56.1.4 组织列1113
56.1.5 运行跟踪1114
56.1.6 使用跟踪文件1114
56.1.7 集成性能监视器数据1114
56.2 使用SQL Trace1115
56.3 小结1117
第57章 等待状态1119
57.1 查看等待状态统计信息1120
57.1.1 查询等待状态1120
57.1.2 Activity Monitor1121
57.2 分析等待状态1122
57.3 小结1122
第58章 Extended Events1123
58.1 XE组件1123
58.1.1 包1124
58.1.2 对象1125
58.2 XE会话1125
58.3 小结1127
第59章 Change Tracking1129
59.1 配置Change Tracking1130
59.1.1 启用数据库1130
59.1.2 自动清理1131
59.1.3 启用表1132
59.1.4 启用所有表1133
59.1.5 内部表1133
59.2 查询Change Tracking1134
59.2.1 版本号1134
59.2.2 行变更1136
59.2.3 编码同步1137
59.3 Change Tracking选项1140
59.3.1 列跟踪1141
59.3.2 确定每行的最新版本1141
59.3.3 捕获应用程序上下文1142
59.4 删除Change Tracking1143
59.5 小结1144
第60章 Change Data Capture1145
60.1 启用CDC1146
60.1.1 启用数据库1146
60.1.2 启用表1146
60.2 使用Change Data Capture1147
60.2.1 检查日志序号1148
60.2.2 查询变更表1149
60.2.3 查询净更改1151
60.2.4 迭代变更表1153
60.3 删除Change Data Capture1154
60.4 小结1154
第61章 SQL Audit1155
61.1 SQL Audit技术概述1155
61.2 创建Audit对象1156
61.2.1 定义目标1157
61.2.2 使用T-SQL1157
62.2.3 启用/禁用审计1158
61.3 Server Audit Specifications1158
61.3.1 添加操作1159
61.3.2 用T-SQL创建1159
61.3.3 修改Server Audit Specifications1159
61.4 Database Audit Specifications1159
61.5 查看审计线索1160
61.6 小结1161
第62章 管理数据仓库1163
62.1 配置MDW1164
62.1.1 配置数据仓库1164
62.1.2 配置数据集合1164
62.2 MDW数据仓库1166
62.3 小结1166
第Ⅸ部分 性能调整和优化1169
第63章 解释查询执行计划1169
63.1 查看查询执行计划1169
63.1.1 估计查询执行计划1170
63.1.2 QueryEditor中的执行计划1170
63.1.3 用showplan返回计划1172
63.1.4 SQL Profiler的执行计划1172
63.1.5 使用动态管理视图检查计划1172
63.2 解释查询执行计划1173
63.3 小结1175
第64章 索引策略1177
64.1 索引的艺术1177
64.2 索引基础1178
64.2.1 b-树索引1178
64.2.2 聚集索引1179
64.2.3 非聚集索引1179
64.2.4 复合索引1180
64.2.5 唯一索引和约束1180
64.2.6 页面分隔问题1181
64.2.7 索引选择性1181
64.2.8 无序的堆1182
64.2.9 查询操作1182
64.3 查询路径1183
64.3.1 查询路径1:提取所有数据1185
64.3.2 查询路径2:聚集索引查找1186
64.3.3 查询路径3:范围查找查询1186
64.3.4 查询路径4:用非键列筛选1188
64.3.5 查询路径5:书签查找1189
64.3.6 查询路径6:覆盖索引1191
64.3.7 查询路径7:用2个NC索引来筛选1193
64.3.8 查询路径8:用有序的复合索引筛选1194
64.3.9 查询路径9:用无序的复合索引筛选1195
64.3.10 查询路径10:Non-SARGable表达式1195
64.4 全面的索引策略1197
64.4.1 标识重要查询1197
64.4.2 表的CRUD分析1198
64.4.3 选择聚集索引1199
64.4.4 创建基索引1200
64.5 特殊索引1201
64.5.1 筛选索引1201
64.5.2 索引视图1202
64.6 小结1204
第65章 查询计划重用1205
65.1 查询编译1205
65.1.1 Query Optimizer1206
65.1.2 查看Plan Cache1206
65.1.3 查询计划的生存期1207
65.1.4 查询计划执行1207
65.2 查询重编译1207
65.3 小结1208
第66章 管理事务、锁定和阻塞1209
66.1 ACID属性1210
66.1.1 原子性1211
66.1.2 一致性1211
66.1.3 隔离性1211
66.1.4 持久性1211
66.2 事务的编程1211
66.2.1 逻辑事务1212
66.2.2 Xact_State()函数1213
66.2.3 Xact_Abort1214
66.2.4 嵌套事务1214
66.2.5 隐式事务1215
66.2.6 保存点1215
66.3 默认的锁定和阻塞行为1216
66.4 监控锁定和阻塞1218
66.4.1 使用Management Studio报表查看阻塞1218
66.4.2 使用Activity Monitor查看阻塞1219
66.4.3 使用Profiler1219
66.4.4 使用动态管理视图查询锁1220
66.5 死锁1221
66.5.1 创建死锁1222
66.5.2 自动检测死锁1225
66.5.3 处理死锁1225
66.5.4 最小化死锁1226
66.6 理解SQL Server锁定1226
66.6.1 锁粒度1227
66.6.2 锁模式1227
66.6.3 控制锁定超时1229
66.6.4 锁定持续时间1229
66.6.5 索引级的锁定限制1229
66.7 事务隔离级别1230
66.7.1 设置事务隔离级别1231
66.7.2 级别1——Read Uncommitted和脏读取1232
66.7.3 级别2——Read Committed1233
66.7.4 级别3——Repeatable Read1234
66.7.5 级别4——Serializable1236
66.7.6 快照隔离1240
66.7.7 使用锁定提示1243
66.8 应用程序锁1244
66.9 应用程序锁定设计1245
66.9.1 实现乐观锁定1245
66.9.2 丢失更新1245
66.10 事务日志的体系结构1248
66.10.1 事务日志序列1248
66.10.2 事务日志恢复1251
66.11 事务性能策略1251
66.12 小结1252
第67章 数据压缩1255
67.1 理解数据压缩1255
67.1.1 数据压缩的优缺点1256
67.1.2 行压缩1257
67.1.3 页面压缩1257
67.1.4 压缩序列1259
67.2 应用数据压缩1260
67.2.1 确定当前压缩设置1260
67.2.2 估计数据压缩1261
67.2.3 启用数据压缩1262
67.2.4 数据压缩策略1263
67.3 小结1263
第68章 分区1265
68.1 分区策略1266
68.2 分区视图1267
68.2.1 本地分区视图1267
68.2.2 分布式分区视图1275
68.3 已分区表和索引1277
68.3.1 创建分区函数1278
68.3.2 创建分区模式1280
68.3.3 创建分区表1280
68.3.4 查询分区表1281
68.3.5 修改分区表1282
68.3.6 切换表1283
68.3.7 滚动分区1285
68.3.8 给已分区表建立索引1285
68.3.9 删除分区1285
68.4 数据驱动的分区1286
68.5 小结1286
第69章 Resource Governor1287
69.1 配置Resource Governor1288
69.1.1 资源池1288
69.1.2 工作负载组1289
69.1.3 分类器函数1290
69.2 监控Resource Governor1291
69.3 小结1291
第Ⅹ部分 商业智能1295
第70章 BI设计1295
70.1 数据仓储1296
70.1.1 星型架构1296
70.1.2 雪花型架构1297
70.1.3 代理键1297
70.1.4 一致性1298
70.1.5 加载数据1298
70.1.6 在维度中更改数据1300
70.2 小结1301
第71章 使用Analysis Services构建多维数据集1303
71.1 Analysis Services的快速启动1304
71.2 Analysis Services体系结构1304
71.2.1 统一维度模型1305
71.2.2 服务器1305
71.2.3 客户端1306
71.3 构建数据库1306
71.3.1 Business Intelligence Development Studio1306
71.3.2 数据源1307
71.3.3 数据源视图1308
71.3.4 创建多维数据集1311
71.4 维度1311
71.4.1 维度设计器1312
71.4.2 常规维度之外的内容1318
71.4.3 维度的细化1320
71.5 多维数据集1321
71.5.1 维度的使用1324
71.5.2 Calculations选项卡1326
71 5.3 KPI1326
71.5.4 动作1326
71.5.5 分区1327
71.5.6 聚合函数的设计1328
71.5.7 透视1329
71.6 数据存储1330
71.6.1 主动缓存1330
71.6.2 SQL Server通知1331
71.6.3 客户发出的通知1331
71.6.4 调度轮询通知1331
71.7 数据完整性1332
71.7.1 空值处理1332
71.7.2 未知成员1333
71.7.3 错误配置1333
71.8 小结1334
第72章 编写MDX查询1335
72.1 基本Select查询1336
72.1.1 多维数据集寻址1336
72.1.2 维度结构1337
72.1.3 基本SELECT语句1338
72.2 高级Select查询1343
72.2.1 子多维数据集1343
72.2.2 WITH子句1344
72.2.3 维度的注意事项1347
72.3 编写MDX脚本1348
72.3.1 计算成员和命名集合1349
72.3.2 添加商业智能1350
72.4 小结1351
第73章 使用Reporting Services编写报表1353
73.1 报表的组成1354
73.1.1 报表定义语言(RDL)1354
73.1.2 数据源1354
73.1.3 Reporting Services数据集1356
73.1.4 查询参数和报表参数1356
73.1.5 报表内容和布局1357
73.2 报表编写过程1358
73.2.1 创建Reporting Services项目1358
73.2.2 创建报表1359
73.2.3 使用Report Wizard创建报表1359
73.2.4 从头开始编写报表1359
73.3 处理数据1362
73.3.1 在Query Designer中使用SQL1362
73.3.2 使用查询参数选择和筛选数据1363
73.3.3 给数据集添加计算字段1366
73.3.4 使用XML数据源1366
73.3.5 使用表达式1368
73.4 设计报表布局1370
73.4.1 设计基础1370
73.4.2 使用Tablix属性页面1373
73.4.3 对Tablix中的数据分组和排序1373
73.4.4 用图表和仪表表示数据1377
73.5 小结1378
第74章 管理Reporting Services1379
74.1 部署Reporting Services报表1381
74.1.1 使用BIDS部署报表1381
74.1.2 使用Report Manager部署报表1382
74.1.3 使用Reporting Services Web Service编程部署报表1383
74.2 使用Management Studio配置Reporting Services1383
74.2.1 配置Reporting Services服务器属性1383
74.2.2 安全性:管理角色1385
74.3 使用Report Manager配置Reporting Services1386
74.3.1 管理安全性1386
74.3.2 处理链接报表1388
74.3.3 创建链接报表1388
74.3.4 利用订阅功能1389
74.3.5 创建数据驱动的订阅1390
74.4 小结1393
第75章 使用Excel分析数据1395
75.1 数据连接1396
75.1.1 数据连接向导1397
75.1.2 Microsoft Query1398
75.1.3 连接文件类型1398
75.2 基本数据分析1399
75.2.1 数据表1399
75.2.2 PivotTable1400
75.2.3 PivotChart1401
75.3 高级数据分析1402
75.3.1 安装数据挖掘插件1402
75.3.2 浏览和准备数据1403
75.3.3 表分析工具1404
75.3.4 数据挖掘客户端1407
75.4 小结1408
第76章 使用Analysis Services挖掘数据1409
76.1 数据挖掘过程1410
76.2 使用Analysis Services建模1411
76.2.1 数据挖掘向导1411
76.2.2 挖掘模型视图1413
76.2.3 模型评估1414
76.3 算法1419
76.3.1 决策树1420
76.3.2 线性回归1421
76.3.3 聚类分析1421
76.3.4 序列聚类分析1422
76.3.5 神经网络1422
76.3.6 逻辑回归1423
76.3.7 Naive Bayes1423
76.3.8 关联规则1424
76.3.9 时间序列1425
76.4 多维数据集集成1426
76.5 小结1427
附录A SQL Server 2008规范1429
附录B 使用示例数据库1433