第1章 了解SQL Server 2005 1
1.1 SQL Server的发展 1
1.2 SQL Server 2005的产品组件与版本 2
1.2.1 SQL Server 2005的产品组件 2
1.2.2 SQL Server 2005的各种版本 4
1.3 SQL Server 2005增强 6
1.3.1 管理方面的增强 6
1.3.2 大幅提升编程的能力 8
1.3.3 完备的分析平台 11
1.4 安装SQL Server 2005 12
1.4.1 通过向导安装SQL Server 2005 12
1.4.2 自动安装SQL Server 2005 16
1.5 连接到SQL Server 22
1.6 升级到SQL Server 2005 24
1.6.1 为什么升级 25
1.6.2 SQL Server 2005的向后兼容性 26
1.6.3 SQL Server 2005升级顾问 31
1.6.4 升级到SQL Server 2005 37
1.7 SQL Server 2005管理及开发工具 39
1.7.1 SQL Server Management Studio 39
1.7.2 SQL Server Business Intelligence Development Studio 42
1.7.3 管理工具 42
第2章 T-SQL增强 45
2.1 DML增强功能 45
2.1.1 公用表表达式 45
2.1.2 排名函数 51
2.1.3 APPLY操作符 53
2.1.4 PIVOT和UNPIVOT运算符 57
2.1.5 OUTPUT子句 59
2.1.6 结构化错误处理 62
2.1.7 TOP增强 67
2.2 DDL增强功能 69
2.2.1 新的数据类型 69
2.2.2 行溢出 70
2.2.3 同义词 71
2.2.4 分区表 74
2.2.5 DDL触发器 87
2.2.6 定义参照完整性功能的增强 90
2.2.7 索引功能增强 92
第3章 T-SQL应用 97
3.1 联接 97
3.1.1 条件联接 97
3.1.2 联接操作 102
3.2 数据检索中的典型应用及常见问题释疑 105
3.2.1 集合运算 105
3.2.2 动态T-SQL处理 108
3.2.3 数据汇总 117
3.2.4 SELECT应用 122
3.3 其他典型应用及常见问题释疑 125
3.3.1 索引 125
3.3.2 随机数 142
3.3.3 char与varchar的选择 145
3.3.4 NULL与零长度、字符串尾随空格 146
3.3.5 字符编码与排序规则 151
3.3.6 日期处理中的常见问题与处理建议 156
3.3.7 游标处理 160
3.3.8 临时表 165
3.3.9 标识值 171
3.3.10 事务与阻塞及死锁 175
3.4 T-SQL编写规范及建议 179
3.4.1 代码编写规范和建议 179
3.4.2 T-SQL中易犯的错误 182
第4章 XML数据处理 185
4.1 xml数据类型概述 185
4.2 类型化与非类型化XML实例 186
4.3 XQuery 189
4.3.1 XQuery概述 190
4.3.2 xml数据类型方法 191
4.3.3 XQuery运算符 199
4.3.4 XQuery条件表达式 201
4.3.5 XQuery函数 203
4.3.6 FLWOR 205
4.3.7 命名空间 207
4.4 构建xml数据 209
4.4.1 使用大容量加载 210
4.4.2 使用FOR XML子句 211
4.5 XML索引 221
4.5.1 XML索引概述 221
4.5.2 创建和管理XML索引 222
4.6 XML应用示例 224
4.6.1 合并行 224
4.6.2 分解字符串 225
4.6.3 生成Excel支持的XML表格数据 227
第5章 CLR集成 235
5.1 CLR集成概述 235
5.2 编写和管理CLR对象 236
5.2.1 启用CLR集成 236
5.2.2 编写CLR程序集 237
5.2.3 发布和部署CLR程序集 243
5.2.4 SQL Server进程中专用的ADO.NET扩展 246
5.2.5 CLR集成安全性 247
5.3 CLR编写示例 248
5.3.1 CLR用户自定义函数 249
5.3.2 CLR用户自定义聚合函数 251
5.3.3 CLR触发器 254
5.3.4 CLR存储过程 258
5.3.5 CLR用户自定义数据类型 260
第6章 开发SQL Server应用程序 269
6.1 ADO.NET 2.0中的SQL Server.NET Framework数据提供程序的新增功能 269
6.1.1 分布式事务 269
6.1.2 批量复制 271
6.1.3 查询通知 276
6.1.4 异步执行 283
6.1.5 Provider的统计信息 288
6.1.6 其他 291
6.2 SQL Management Object (SMO) 294
6.2.1 SMO概述 294
6.2.2 SMO应用程序示例 295
6.3 SQL Server Express 304
6.3.1 支持的功能 304
6.3.2 升级MSDE 2000 305
6.3.3 用户实例 305
第7章 端点 309
7.1 端点概述 309
7.1.1 创建和修改端点 310
7.1.2 端点权限和身份验证类型 311
7.2 本机XML Web服务 313
7.2.1 本机XML Web服务概述 313
7.2.2 本机XML Web服务应用示例 318
第8章 Service Broker 325
8.1 Service Broker概述 325
8.2 Service Broker架构与组成组件 328
8.2.1 体系结构 328
8.2.2 简单的SQL Server聊天程序示例 333
8.2.3 Service Broker网络与路由 336
8.2.4 跨实例的SQL Server聊天程序示例 341
8.3 管理与监控Service Broker 346
8.4 事件通知 349
8.4.1 了解事件通知 349
8.4.2 实现事件通知 350
8.4.3 使用事件通知实现BLOCK信息收集的示例 352
第9章 SQL Server Integration Services 361
9.1 认识SSIS 361
9.1.1 SSIS的典型用途 361
9.1.2 SSIS体系结构 362
9.1.3 SSIS工具 363
9.1.4 SSIS包概述 364
9.2 创建、设计、发布和管理SSIS包 371
9.2.1 创建和设计包 372
9.2.2 事件处理 375
9.2.3 查看包对象 376
9.2.4 调试、发布与部署包 377
9.2.5 管理和监视已经发布的包 379
9.2.6 使用SQL Server代理作业执行包 380
9.3 在包中添加高级功能 381
9.3.1 使用日志记录 381
9.3.2 使用事务 381
9.3.3 使用变量及表达式 383
9.3.4 优先约束 385
9.3.5 使用检查点 386
9.4 包保护级别 387
9.5 SSIS包示例 388
9.5.1 数据同步示例 388
9.5.2 数据收集示例 392
9.5.3 通用数据导入示例 395
第10章 SQL Server配置 401
10.1 服务配置 401
10.1.1 公用配置 402
10.1.2 专用配置 402
10.2 SQL Server配置 406
10.2.1 服务器配置选项 406
10.2.2 数据库配置选项 414
第11章 SQL Server安全管理 421
11.1 安全概述 421
11.2 连接安全 422
11.2.1 连接到SQL Server实例 422
11.2.2 网络协议与TDS端点 423
11.2.3 加密连接 427
11.3 登录验证 430
11.3.1 登录身份 430
11.3.2 身份验证和身份验证模式 431
11.4 权限控制 431
11.4.1 权限控制体系概述 431
11.4.2 控制权限 432
11.4.3 角色 433
11.5 安全相关的事项 437
11.5.1 密码策略 437
11.5.2 上下文切换 438
11.5.3 所有权链接 440
11.5.4 SQL注入 442
11.6 安全配置建议 444
11.6.1 操作系统级安全配置建议 445
11.6.2 连接SQL Server方面的安全配置建议 445
11.6.3 SQL Server上的安全配置建议与配置工具 446
第12章 数据的加密与解密 447
12.1 概述 447
12.1.1 加密层次结构 447
12.1.2 服务主密钥 448
12.1.3 数据库主密钥 449
12.2 加密机制 451
12.2.1 证书 452
12.2.2 非对称加密 455
12.2.3 对称加密 456
12.2.4 通行短语加密 459
第13章 数据备份与还原 461
13.1 概述 461
13.1.1 数据与日志 461
13.1.2 数据库恢复模式 462
13.1.3 备份设备 464
13.1.4 备份媒体集、媒体簇和备份集 465
13.2 数据库备份 468
13.2.1 完全备份 468
13.2.2 差异备份 469
13.2.3 部分备份 469
13.2.4 文件和文件组备份 471
13.2.5 日志备份 472
13.2.6 数据库维护计划 473
13.3 备份媒体的可靠性 473
13.3.1 镜像备份媒体集 473
13.3.2 验证备份集 474
13.4 数据库还原 475
13.4.1 数据库还原过程与还原选项 475
13.4.2 还原备份 476
13.4.3 将数据库还原到特定的恢复点 485
13.4.4 段落还原 496
13.4.5 页面还原 498
13.4.6 数据库快照及从快照中还原 502
13.5 数据库备份与还原的实践应用 503
13.5.1 系统数据库的备份与还原 504
13.5.2 抢救损坏数据库中的数据 507
13.5.3 使用备份与还原实现双机热备份 512
13.6 制订数据库备份方案 515
13.6.1 备份方法比较 515
13.6.2 备份方案制订原则 516
13.7 数据备份与还原疑难解答 517
13.7.1 数据备份与还原中的常见问题 517
13.7.2 数据库所有者与孤立用户 524
13.7.3 备份中的COPY ONLY选项 529
第14章 数据库的高可用性技术 531
14.1 数据库镜像 531
14.1.1 概述 531
14.1.2 配置数据库镜像 533
14.1.3 数据库镜像配置示例 534
14.1.4 故障转移 544
14.1.5 数据库镜像状态监视 545
14.2 日志传送 546
14.2.1 概述 546
14.2.2 配置日志传送 547
14.2.3 日志传送配置示例 550
14.2.4 故障转移 556
14.2.5 日志传送状态监视 557
14.3 SQL Server复制 558
14.3.1 概述 558
14.3.2 复制类型及工作机制 561
14.3.3 Internet复制 565
14.3.4 配置复制 566
14.3.5 SQL Server复制配置示例 568
14.3.6 管理和监视SQL Server复制 582
14.4 选择高可用性技术 589
14.4.1 环境需求比较 589
14.4.2 功能特性比较 589
第15章 查询SQL Server对象信息 593
15.1 对象信息 593
15.1.1 表结构信息 593
15.1.2 索引信息 594
15.1.3 索引使用信息 597
15.1.4 SQL语言定义模块对象信息 598
15.1.5 外键约束 599
15.1.6 对象依赖关系 601
1 5.2 空间信息 603
15.2.1 表空间信息 604
15.2.2 数据库空间信息 607
15.2.3 磁盘空间信息 610
15.3 管理Replication(复制)链路 612
15.3.1 Replication(复制)链路 612
15.3.2 将Replication链路转换为树形XML 616
15.4 进程信息 618
15.4.1 运行中的进程 618
15.4.2 阻塞的进程信息 621
15.5 收集SQL Server信息的通用SSIS包 626
第16章 服务器性能监视 633
16.1 概述 633
16.2 监视服务器 634
16.2.1 监视方法和监视工具 634
16.2.2 磁盘使用情况 638
16.2.3 内存使用情况 638
16.2.4 CPU使用情况 640
16.3 监视SQL Server实例 640
16.3.1 SQL Server性能对象和计数器 640
16.3.2 SQL跟踪 643
16.3.3 数据库引擎优化顾问 646