第1章 SQL Server 2005新增功能 2
易管理性的增强 2
单一的管理控制台(SQL Server Management Studio) 2
SQL管理对象 3
可用性的增强 3
数据库镜像 3
故障转移群集 4
快速恢复 4
专用管理员连接 4
联机操作(索引操作和还原) 4
复制 5
可伸缩性的增强 5
表和索引分区 5
快照隔离 5
复制监视器 5
对64位系统Itanium 2和x64的支持 5
安全性的增强 6
授权 6
身份验证 6
本机加密 6
扩展的语言支持 6
CLR/NET Framework集成 7
Transact-SQL增强 8
改进的开发工具 8
Business Intelligence Development Studio 8
Visual Studio集成 9
跨层和跨语言的调试 9
扩展性增强 9
用户自定义类型和聚合 9
SQL管理对象 9
分析管理对象 10
数据访问的改进 10
ADO.ET 2.0 10
查询通知 10
MARS 11
透明的数据镜像的故障转移 11
XML和Web Services 11
XML支持 11
XML数据类型 12
XQuery 12
Web Services支持 12
XML for Analysis Services 12
Service Broker 13
商业智能 13
Integration Services 15
Analysis Services 15
数据挖掘 15
Reporting Services 15
关系型和OLAP报表 16
报表生成器 16
第2章 SQL Server 2005安装指南 17
SQL Server 2005版本和组件 17
软件和硬件的准备工作 19
SQL Server 2005(32位和64位)软件需求 19
硬件和软件要求(32位) 20
64位的硬件和软件要求 22
安装.NET Framework 2.0 23
安装SQL Server 2005 24
设置服务账户 26
SQL Server 2005身份验证模式 27
SQL Server 2005语言选项 27
验证安装正确性 29
升级SQL Server 7*0/2000到 SQL Server 2005 31
在现有SQL Server数据库的基础上升级 31
通过复制数据库向导升级至SQL Server 2005 33
使用分离和附加来升级数据库 33
安装过程中的错排查 34
第3章 配置SQL Server服务器 36
注册和连接服务器 36
连接服务器 36
注册服务器 37
管理服务器组 39
管理SQL Server服务 40
使用控制台管理SQL Server服务 41
使用Net Start命令控制SQL Server服务 42
使用服务管理器控制SQL Server服务 42
管理服务器全局属性 43
常规 44
内存 44
处理器 45
安全性 46
连接 48
数据库设置 48
高级 50
权限 50
SQL Server 2005配置管理工具 51
SQL Server 2005查询工具 52
简介 52
连接SQL Server服务器 53
执行T-SQL语句 53
对象浏览器 54
sqlcmd工具使用简介 54
第4章 管理数据库和表 56
SQL Server 2005数据库的系统目录 56
系统文件目录 56
数据库实例目录 57
管理数据库文件和文件组 57
管理数据库文件组 57
创建数据文件 60
数据文件的增长与收缩 62
管理事务日志文件 65
事务日志的工作机制 66
收缩事务日志 67
创建表 68
使用SQL Server Management Studio创建表 69
表设计器窗体 70
建立和命名列 70
指定列的数据类型和为空性 70
列描述 71
文件组 72
保存数据表 73
使用T-SQL语句创建表 73
更改数据表的结构 73
添加新列 74
更改列名称 75
更改列的数据类型及长度 75
使用标识列 76
定义主关键字 77
删除列 78
删除表 79
使用SQL Server Management Studio删除表 79
使用T-SQL语句删除表 80
临时表 80
系统表 80
架构 82
什么是架构 82
默认架构 82
用户架构分离的好处 83
创建架构 83
设置数据对象的架构 85
第5章 SQL Server 2005安全性管理 88
SQL Server 2005的安全模型简介 88
概述 88
SQL Server权限层次结构 89
SQL Server服务器访问权限 91
SQL Server 2005身份验证模式 91
创建登录 92
服务器角色 95
数据库访问权限 95
创建数据库用户 95
数据库角色 97
自定义数据库角色 97
应用程序角色 98
数据对象和数据访问权限 100
固定数据库角色许可权限 100
数据对象访问许可 103
预定义的许可权限 103
权限的授予、拒绝和废除 103
权限的继承 105
管理SQL Server登录账户 105
管理数据库用户 108
第6章 SQL Server 2005数据库备份指南 110
数据库备份概述 110
备份前的准备工作 110
设置数据库恢复模式 110
创建备份设备 113
执行备份的权限 115
数据库备份的时机 115
何时备份系统数据库 116
何时备份用户数据库 116
备份类型的概述 117
完整备份 117
差异备份 121
日志备份 122
备份事务日志 122
清理事务日志 125
仅复制备份 126
文件/文件组备份 126
数据库镜像 128
传送事务日志 130
第7章 SQL Server 2005数据库还原指南 134
检查点 134
SQL Server崩溃后自启动的恢复进程 135
还原数据库前的准备工作 136
恢复数据库的方法 138
还原完整备份 140
还原差异备份 142
还原日志备份 143
还原文件或文件组备份 145
分离和附加数据库 146
分离数据库 147
附加数据库 148
第8章 实现自动管理任务 152
SQL Server代理服务 152
SQL Server代理服务概述 152
自动管理组件 152
配置SQL Server代理服务 153
常规选项 153
设置SQL Server代理服务账户 154
设置邮件系统 155
设置连接 156
定义操作员 158
创建和执行作业 159
创建作业 159
作业控制流 164
计划的类型 164
指定作业响应 164
监视作业活动 165
监视事件和响应警报 167
定义警报 167
创建用户自定义错误的警报 169
查看SQL Server代理错误日志 170
管理数据库邮件 171
第9章 数据传输指南 176
概述 176
数据传输的概述 176
数据传输工具一览 177
SQL Server数据导入和导出向导 178
SQL Server数据导入和导出向导 178
连接数据源 178
设定转换模式 179
保存和调度SSIS包 182
使用bcp命令大容量复制数据 182
将表行复制到数据文件 182
从查询复制到文本文件 183
创建非XML格式文件 184
创建XML格式文件 184
将文本数据导入到表中 185
T-SQL语句大容量导入导出数据 185
BULK INSERT语句 185
SELECT/INTO语句 186
INSERT/SELECT语句 186
OPENROWSET语句 187
分离和附加数据 189
分离数据库 189
附加数据库 190
第10章 SQL Server 2005复制技术 192
复制的基本概念 192
复制发布模型概述 192
服务器角色 192
复制模型基本拓扑图 193
复制代理程序 194
复制的类型 194
订阅 196
配置复制 196
复制前的考虑 196
创建发布 197
订阅 202
管理复制 210
从Management Studio监视复制代理 210
使用复制监视器监控复制 211
提高常规复制的性能 213
停止复制 214
第11章 监控SQL Server性能与活动 215
影响性能的因素 215
系统级因素 215
数据库因素 215
客户端因素 216
SQL Server性能监视工具一览 217
性能监控基本步骤 218
识别瓶颈 218
监控级别 218
建立性能基线 219
确认用户活动 219
隔离性能问题 220
查看Windows应用程序日志 220
使用Windows系统监视器 221
系统监视器简介 221
监控处理器性能 221
监控Windows内存使用情况 222
监控SQL Server内存使用情况 222
监控磁盘的使用情况 223
使用系统监视器 223
使用SQL Server Management Studio 226
SQL Server活动监视器 226
SQL Server日志 227
使用SQL Server Profiler 228
定义跟踪 228
设置事件 228
设置数据列 229
设置筛选信息 230
保存跟踪模版 230
保存跟踪的结果 231
重播跟踪事件 232
常用跟踪事件举例 232
查看执行计划 234
获得执行计划的信息 234
SEFSHOWPLAN TEXT ON 235
SET STATISTICS TIME ON 236
SET STATISTICS IO ON 237
使用T-SQL语句 237
DBCC语句 237
全局函数 239
系统存储过程 240
第12章 基础Transact-SQL语言 244
数据定义语言(DDL) 244
Create Database语句 244
Alter Database语句 245
Drop Database语句 246
Create Table语句 246
Alter Table语句 247
Drop Table语句 248
使用SELECT语句查询数据 248
SELECT子句 249
FROM子句 250
WHERE子句 250
GROUP BY子句 251
HAVING子句 252
ORDER BY子句 253
其他关键字 253
使用SERT向表中插入数据 257
使用Insert…语句 257
使用Insert…Select语句 258
使用Select…Into语句 258
使用UPDATE修改表中的数据 258
更新基于表的数据 259
基于其他表更新数据行 259
使用子查询更新指定的行 259
使用DELETE删除表中的数据 259
大对象数据的访问控制 260
SQL Server对XML的支持 261
使用RAW模式 261
使用AUTO模式 262
使用EXPLICIT模式 263
T-SQL中数据库对象的引用 264
完全限定 264
部分限定 264
SET语句 265
SET DATEFIRST语句 265
SET DATEFORMAT语句 265
SET CONCAT NULLYIELDSNULL语句 265
SET IDENTITY SERT语句 265
SET LANGUAGE语句 266
SET FMTONLY语句 266
SET NOCOUNT语句 266
SET NOEXEC语句 266
SET PARSEONLY语句 267
SET ROWCOUNT语句 267
SET SHOWPLAN ALL语句 267
SET STATISTICS IO语句 268
SET STATISTICS XML语句 268
综合应用 268
第13章 Transact-SQL高级应用 272
使用系统内建函数 272
日期和时间函数 272
聚合函数 275
字符串函数 277
系统统计函数 280
数学函数 281
系统函数 282
子查询 286
使用子查询查询数据 286
子查询的限制 288
联合查询 288
使用UNION创建联合查询 288
联合查询的关键字ALL 289
使用INNER JOIN 289
使用LEFT JOIN和RIGHT JOIN建立连接 290
使用交叉连接(CROSS JOIN) 291
其他复杂应用 292
使用Compute (By)子句 292
交叉表查询 293
查询语句的性能优化 295
通配符%的使用 295
ORDER BY语句 295
尽量不用NOT 295
尽量不要连接列 296
表连接需要注意的事项 296
综合应用 296
第14章 规划和管理索引 300
概述 300
数据的存储和访问方式 300
SQL Server查询优化器 301
获得执行计划的信息 301
索引的类型 302
聚集索引 303
非聚集索引 304
使用索引的准则 305
创建索引的列 305
不建索引的列 305
如何使用聚集索引 305
如何使用非聚集索引 306
创建和管理索引 306
创建索引 306
组合索引 310
唯一索引 310
主键索引 312
填充因子 312
管理索引 313
维护索引 314
维护索引的统计信息 315
数据碎片 315
重建和整理索引 317
第15章 管理和使用视图 319
视图的用途和需要 319
视图简介 319
视图的优点 319
视图的分类 320
创建和管理视图 320
定义视图 321
修改视图定义 322
删除视图 322
利用视图简化查询操作 322
查询视图 322
使用视图关联多张表 323
使用视图提供聚合值 323
更新视图中的数据 324
加密视图 325
利用视图加强数据安全 325
限制用户的视线 325
视图权限管理 326
调用链问题初探 326
使用索引视图 326
索引视图的优点 326
设计索引视图的指导原则 327
创建索引视图 328
索引视图的应用 329
使用分区视图 331
视图的综合应用 332
第16章 创建和使用存储过程 335
SQL Server编程逻辑 335
Transact-SQL编程基础 335
流程控制语句 339
游标的使用 343
存储过程的创建与管理 347
为何使用存储过程 348
使用系统存储过程管理SQL Server 348
使用扩展存储过程 349
定义存储过程 350
带参数的存储过程 352
存储过程的加密 354
修改和删除存储过程 355
存储过程中的错误处理 356
在存储过程中调用COM组件 357
使用CLR存储过程 358
CLR集成的优点 358
Microsoft.SqlServer.Server命名空间 358
创建CLR存储过程 359
删除CLR存储过程 362
综合实例 362
第17章 创建和使用触发器 366
触发器的创建与管理 366
为何使用触发器 366
创建触发器 366
修改和删除触发器 369
用触发器实现强制业务规则 370
使用触发器和存储过程必须注意的事项 374
使用CLR触发器 375
SqlTriggerContext类 375
创建CLR触发器 376
第18章 创建用户定义数据类型与函数 379
用户定义数据类型简介 379
为何使用用户定义数据类型 379
用户定义数据类型的特点 379
创建用户定义数据类型 379
删除用户定义数据类型 380
更改用户定义数据类型 381
使用数据类型 381
基于CLR创建用户定义类型 381
用户定义函数简介 383
为何使用用户定义函数 383
用户定义函数的特点 384
创建用户定义函数 384
用户定义函数设计原则 384
标量函数 385
内联表值函数 387
多语句表值函数 388
修改和删除用户定义函数 389
用户定义函数的限制 390
第19章 维护数据完整性 392
数据完整性概述 392
实体完整性 392
域完整性 392
引用完整性 393
用户定义完整性 393
利用约束维护数据的完整性 393
DEFAULT约束 393
CHECK约束 394
UNIQUE约束 395
PRIMARY KEY约束 395
FOREIGN KEY约束 396
级联引用完整性约束 397
利用规则维护数据的完整性 397
DEFAULT对象 398
RULES对象 399
标识列Identity 400
使用触发器和存储过程实现数据完整性 401
关于数据完整性的一些使用经验 402
第20章 SQL Server 2005事务处理机制 403
事务的概念 403
事务的概念 403
事务的特性 403
事务的状态 404
事务管理机制 405
事务的类型 405
定义事务 405
隐式事务 407
事务故障恢复和并发控制 408
事务与日志的联系 408
事务故障的恢复 408
事务隔离级别 409
使用事务时的考虑 410
事务的高级应用 411
事务保存点 412
嵌套事务 413
分布事务 415
第21章 SQL Server 2005并发控制机制 417
并发访问异常 417
丢失更新 417
脏数据 417
不可重复读取 418
幻读 418
锁 418
基本锁 419
专用锁 419
锁的相容性 420
封锁协议 421
锁的粒度 421
锁的使用 422
设置事务隔离级 422
事务隔离级与锁的关系 422
设置表级锁 424
锁的时间长度 426
设置锁定超时选项 426
监视和管理锁 427
死锁的预防和处理 430
死锁的概念 430
预防死锁 431
解除死锁 432
第22章 SQL Server 2005全文搜索 433
SQL Server全文搜索简介 433
全文搜索的工作方式 433
创建和管理全文索引 434
启用全文搜索 434
创建全文索引和全文目录 434
使用全文索引向导 437
管理全文索引 439
备份和还原全文目录 440
还原全文目录 441
使用全文查询 442
FREETEXT谓词 442
CONTAINS谓词 443
CONTAINSTABLE和FREETEXTTABLE谓词 445
第23章 SQL Server 2005数据库编程接口 449
纵览SQL Server编程API 449
使用ODBC访问SQL Server 449
使用ADO访问SQLServer 450
使用ADO.NET访问SQLServer 450
使用OLE DB访问SQLServer 450
使用JDBC访问SQL Server 451
SQL Server ADO编程接口与应用 451
ADO简介 451
Connection对象 452
RecordSet对象 453
Command对象 456
Parameter对象 458
Error对象 459
Field对象 460
Property对象 461
ADO中的事务管理 461
ADO综合应用例程 463
ADO.ET编程接口 467
ADO.ET简介 467
Connection对象 468
Command对象 469
DataSet对象 471
DataAdapter对象 472
在ADO.ET中使用事务 473
ADO.ET综合应用实例 474
SQL Server Java编程接口 480
JDBC编程概述 480
JDBC的对象模型 480
JDBC综合应用例程 483
第24章 SQL Server 2005应用程序高级设计 484
在Internet上访问SQL Server 484
生成静态Web页面 484
用ASP发布动态页面数据 488
用ASP.NET发布动态页面数据 493
SQL Server报表服务 494
报表服务概述 494
报表服务组件概述 496
报表服务实例 499
Service Broker异步编程模型 502
Service Broker简介 503
Service Broker体系结构 504
Service Broker应用程序实例 506
嵌入式的SQL程序设计 509
嵌入式SQL语言概述 509
在C语言中使用嵌入式SQL 509
SQL Server编程注意事项 512
基于数据库的需求分析 512
设计中对数据库的考虑 513
开发过程中数据库性能的优化 513
应用程序安全问题 514
测试与实施中的注意事项 515
附录A SQL Server 2005常用系统存储过程 516
附录B如何使用SQL Server 2005联机丛书 523