第1章 了解SQL Server 2000 1
1.1 SQL Server的主要特点 1
1.2 SQL Server 2000的新增特性 2
1.2.1 SQL Server 2000对程序开发的增强 2
1.2.2 SQL Server对Internet网络的支持 4
1.3 SQL Server常见的版本 4
1.4 SQL Server的工具 5
1.4.1 企业管理器 5
1.4.2 服务管理器 5
1.4.3 查询分析器 6
1.4.4 事件探查器 6
1.4.5 客户端网络实用工具 6
1.4.6 服务器网络实用工具 7
1.4.7 导入/导出数据 7
1.4.8 在IIS中配置SQL XML支持 8
1.4.9 SQL Server升级向导 8
第2章 数据库基础知识 9
2.1 数据库的出现和发展 9
2.2 数据库系统的组成 10
2.2.1 数据库 10
2.2.2 数据库管理系统 10
2.2.3 软件支持 11
2.2.4 硬件支持 12
2.2.5 数据库管理员和使用人员 12
2.3 SQL Server数据库的常用概念 14
2.3.1 表 14
2.3.2 字段 14
2.3.3 索引 14
2.3.4 约束 14
2.3.5 视图 15
2.3.6 存储过程 15
2.3.7 触发器 15
2.3.8 数据字典 16
第3章 安装与配置SQL Server服务器 17
3.1 安装SQL Server 17
3.1.1 SQL Server服务器的配置要求 17
3.1.2 安装SQL Server的具体过程 18
3.1.3 检查SQL Server的安装 21
3.1.4 将组件添加到SQL Server实例 22
3.1.5 SQL Server的版本升级 23
3.2 卸载SQL Server 25
3.3 启动和停止SQL Server服务 25
3.3.1 使用SQL Server服务管理器 25
3.3.2 使用SQL Server企业管理器 26
3.3.3 使用命令行 27
3.3.4 使用控制面板 27
3.4 注册服务器 28
3.5 配置SQL Server 29
3.5.1 控制SQL Server启动/停止 29
3.5.2 配置SQL Server内存 31
3.5.3 配置SQL Server处理器占用选项 32
3.5.4 安全配置 33
3.5.5 配置SQL Server连接选项 34
3.5.6 配置SQL Server服务器选项 35
3.5.7 配置SQL Server数据库选项 36
第4章 数据库的安全性管理 38
4.1 SQL Server安全认证基础知识 38
4.1.1 服务器认证 38
4.1.2 数据库认证 39
4.1.3 用户组和角色 41
4.1.4 SQL Server安全性认证过程 41
4.2 设置SQL Server的认证模式 42
4.3 管理SQL Server登录账号 43
4.3.1 创建登录账号 43
4.3.2 修改登录账号设置 45
4.3.3 删除登录账号 46
4.4 管理数据库用户 47
4.4.1 创建数据库用户 47
4.4.2 查看数据库用户设置 49
4.4.3 删除数据库用户 50
4.5 管理服务器角色 51
4.5.1 使用企业管理器管理服务器角色 51
4.5.2 使用T-SQL命令管理服务器角色 52
4.6 管理数据库角色 52
4.6.1 数据库角色的分类 52
4.6.2 添加数据库角色 53
4.6.3 修改数据库角色 54
4.6.4 删除数据库角色 55
4.7 管理权限 55
4.7.1 使用企业管理器管理权限 56
4.7.2 使用T-SQL命令管理权限 58
4.8 安全性管理原则 60
第5章 Transact-SQL语言 62
5.1 Transact-SQL语言基础 62
5.1.1 SQL概述 62
5.1.2 SQL语言的组成 62
5.1.3 SQL语句的结构 63
5.1.4 T-SQL语句分类 63
5.2 数据类型 64
5.2.1 整数数据类型 64
5.2.2 浮点数据类型 65
5.2.3 二进制数据类型 66
5.2.4 逻辑数据类型 66
5.2.5 字符数据类型 66
5.2.6 文本和图形数据类型 67
5.2.7 日期和时间数据类型 67
5.2.8 货币数据类型 68
5.2.9 特定数据类型 68
5.2.10 用户自定义数据类型 69
5.2.11 新数据类型 69
5.3 变量 69
5.3.1 局部变量 69
5.3.2 全局变量 70
5.4 注释符运算符与通配符 70
5.4.1 注释符(Annotation) 70
5.4.2 运算符(Operator) 70
5.4.3 通配符(Wildcard) 71
5.5 流程控制命令 71
5.5.1 BEGIN...END 71
5.5.2 CASE 71
5.5.3 GOTO 72
5.5.4 IF...ELSE 73
5.5.5 RETURN 73
5.5.6 WHILE...CONTINUE...BREAK 74
5.5.7 WAITFOR 74
5.6 常用命令 75
5.6.1 BACKUP 75
5.6.2 CHECKPOINT 75
5.6.3 DBCC 75
5.6.4 DECLARE 75
5.6.5 PRINT 75
5.6.6 RAISERROR 76
5.6.7 READTEXT 76
5.6.8 RESTORE 76
5.6.9 SELECT 76
5.6.10 SET 77
5.6.11 SHUTDOWN 78
5.6.12 WRITETEXT 78
5.6.13 USE 79
5.7 常用函数 79
5.7.1 统计函数 79
5.7.2 算术函数 82
5.7.3 字符串函数 84
5.7.4 数据类型转换函数 90
5.7.5 日期函数 91
5.7.6 系统函数 94
5.7.7 TEXT和IMAGE类函数 106
5.7.8 NILADIC类函数 107
5.7.9 用户自定义函数 108
第6章 使用T-SQL语句操作数据库 109
6.1 查询语句 109
6.1.1 SELECT语法 109
6.1.2 简单查询 113
6.1.3 连接查询 119
6.1.4 嵌套查询 122
6.1.5 存储查询结果 123
6.2 更新数据 124
6.2.1 INSERT语法 125
6.2.2 插入单行 125
6.2.3 插入子查询结果 126
6.3 删除数据 127
6.3.1 DELETE语法 127
6.3.2 用DELETE删除数据 129
6.3.3 TRUNCATE TABLE命令 130
6.4 更新数据 130
6.4.1 UPDATE 语法 130
6.4.2 用UPDATE更新记录 131
第7章 创建与操纵SQL Server数据库 133
7.1 与数据库相关的基本概念 133
7.2 SQL Server系统数据库结构 134
7.3 创建数据库 135
7.3.1 使用企业管理器创建数据库 135
7.3.2 使用Transact-SQL命令创建数据库 137
7.4 修改数据库设置 138
7.4.1 使用企业管理器修改数据库设置 138
7.4.2 使用Transact-SQL命令修改数据库 141
7.5 删除数据库 144
7.5.1 使用企业管理器删除数据库 144
7.5.2 使用TransactSQL命令删除数据库 144
第8章 创建与使用SQL Server数据表 145
8.1 与表相关的基本概念 145
8.2 创建表结构 145
8.2.1 使用企业管理器创建表 145
8.2.2 使用T-SQL命令创建表 147
8.3 修改表结构 149
8.3.1 使用企业管理器修改表结构 149
8.3.2 使用T-SQL命令修改表 150
8.4 查看表 152
8.5 删除表 154
8.5.1 使用企业管理器删除表 154
8.5.2 使用T-SQL命令删除表 154
8.6 用户自定义数据类型 155
8.6.1 创建用户自定义数据类型 155
8.6.2 删除用户自定义数据类型 155
第9章 创建并使用索引 156
9.1 索引的基本概念 156
9.1.1 为什么要建索引 156
9.1.2 为什么不在每一列上建索引 157
9.1.3 使用索引条件 157
9.1.4 索引的结构 158
9.2 创建索引 158
9.2.1 使用企业管理器创建索引 158
9.2.2 使用T-SQL命令创建索引 162
9.3 查看所有索引 164
9.3.1 使用企业管理器查看索引 164
9.3.2 使用T-SQL命令查看索引 165
9.4 编辑索引 165
9.4.1 使用企业管理器修改索引 165
9.4.2 使用T-SQL修改索引 166
9.5 删除索引 166
9.5.1 使用企业管理器删除索引 166
9.5.2 使用T-SQL命令删除索引 167
9.6 全文索引 167
9.6.1 全文操作类系统存储过程 167
9.6.2 全文索引应用示例 170
9.6.3 全文查询 171
第10章 设计SQL Server约束完整性 174
10.1 约束完整性 174
10.1.1 什么是约束完整性 174
10.1.2 约束完整性的分类 174
10.1.3 设计表约束完整性的一般步骤 175
10.1.4 约束完整性的实现方法 176
10.2 使用企业管理器管理约束 177
10.2.1 默认约束 177
10.2.2 主键约束 178
10.2.3 检查约束 179
10.2.4 惟一约束 180
10.2.5 外键约束和参照约束 181
10.3 使用T-SQL命令管理约束 182
10.3.1 设置约束命令 182
10.3.2 默认约束 185
10.3.3 主键约束 185
10.3.4 检查约束 186
10.3.5 惟一约束 188
10.3.6 外键约束和参照约束 189
10.4 默认方法 190
10.4.1 使用企业管理器管理默认方法 191
10.4.2 使用T-SQL语句管理默认方法 191
10.5 规则 193
10.5.1 使用企业管理器设置规则和绑定 193
10.5.2 使用T-SQL设置规则 195
10.5.3 使用T-SQL绑定默认和规则 196
10.6 使用IDENTITY列 198
第11章 视图操作 200
11.1 视图 200
11.1.1 视图的优点 200
11.1.2 使用视图加强数据安全的方法 200
11.1.3 定义视图的语法限制 201
11.2 创建视图 201
11.2.1 使用企业管理器创建视图 201
11.2.2 使用T-SQL命令创建视图 203
11.3 修改视图 204
11.3.1 使用企业管理器修改视图 204
11.3.2 使用T-SQL命令修改视图 204
11.4 删除视图 205
11.4.1 使用企业管理器删除视图 205
11.4.2 使用T-SQL命令删除视图 205
11.5 设置视图权限 205
11.6 索引视图 206
11.6.1 设计索引视图时的准则 207
11.6.2 设计时应该考虑的因素 207
11.7 创建视图的实例 208
11.7.1 水平视图 208
11.7.2 投影视图 208
11.7.3 联合视图 209
11.7.4 包含计算列的视图 210
11.7.5 包含集合函数的视图 211
11.7.6 视图的视图 212
第12章 使用存储过程和自定义函数 214
12.1 存储过程概述 214
12.1.1 存储过程的概念 214
12.1.2 存储过程的优点 214
12.2 系统存储过程 215
12.2.1 用于管理的系统存储过程 216
12.2.2 用于收集相关信息的系统存储过程 218
12.2.3 用于系统配置的系统存储过程 218
12.2.4 用于监控的系统存储过程 219
12.3 存储过程的创建和执行 220
12.3.1 存储过程的执行 220
12.3.2 存储过程的创建 221
12.3.3 存储过程示例 232
12.4 管理存储过程 235
12.4.1 查看存储过程代码 235
12.4.2 修改存储过程 236
12.4.3 重新命名存储过程 238
12.4.4 删除存储过程 238
12.5 用户自定义函数 238
12.5.1 标量型函数 239
12.5.2 内联表值型函数 240
12.5.3 多语句表值型 241
12.5.4 管理用户自定义函数 243
第13章 使用触发器 244
13.1 什么是触发器 244
13.1.1 触发器的概念及作用 244
13.1.2 触发器的种类 244
13.2 创建触发器 245
13.2.1 用企业管理器创建触发器 245
13.2.2 用CREATE TRIGGER命令创建触发器 245
13.3 管理触发器 247
13.3.1 使用企业管理器管理触发器 247
13.3.2 使用查询分析器管理触发器 248
13.4 INSTEAD OF触发器 250
13.5 触发器的应用 251
13.5.1 插入型触发器的应用 251
13.5.2 删除型触发器的应用 252
13.5.3 更新型触发器应用 253
13.5.4 嵌套触发器 254
13.5.5 递归触发器 254
第14章 游标 256
14.1 游标概述 256
14.1.1 游标和游标的优点 256
14.1.2 游标的实现 256
14.1.3 游标类型 260
14.1.4 游标的锁定 261
14.2 游标的基本操作 263
14.2.1 声明游标 263
14.2.2 打开游标 266
14.2.3 读取游标中的数据 266
14.2.4 关闭释放游标 267
14.2.5 使用游标来修改数据 268
14.3 使用系统过程管理游标 269
14.3.1 sp_cursor_list 269
14.3.2 sp_describecursor 270
14.3.3 sp_describe_cursor_columns 272
14.3.4 sp_describe_cursor_tables 273
第15章 在Visual Basic环境中访问SQL Server 275
15.1 VB中的数据访问方法 275
15.1.1 3种数据访问接口 275
15.1.2 3种数据访问接口的比较 276
15.1.3 数据访问的模型 276
15.2 建立数据源 276
15.3 ODBC的简介与配置 278
15.3.1 ODBC开放式数据源介绍 278
15.3.2 配置数据源 279
15.4 连接数据源 282
15.4.1 Data控件 282
15.4.2 ADO Data控件 285
15.4.3 ADO数据模型 289
15.5 操作数据库 298
15.5.1 位置操作 298
15.5.2 编辑操作 298
15.5.3 查询操作 303
第16章 使用ASP访问SQL Server 2000 305
16.1 ASP技术介绍 305
16.1.1 ASP概述 305
16.1.2 安装和配置IIS 305
16.1.3 ASP网页的基本结构 308
16.1.4 ASP的内嵌对象 309
16.2 连接数据库 313
16.2.1 使用系统数据源 313
16.2.2 使用ODBC驱动程序 313
16.3 查询数据 314
16.4 数据操作 315
16.4.1 增加记录 315
16.4.2 修改记录 317
16.4.3 删除记录 318
16.5 测试网页 319
第17章 使用XML访问SQL Server 2000 320
17.1 XML介绍 320
17.1.1 XML简介 320
17.1.2 XML的基本理论 324
17.1.3 XML的体系结构和语法规范 327
17.1.4 DTD相关问题 333
17.2 使用HTTP访问SQL Server 335
17.2.1 创建SQL Server虚拟目录 335
17.2.2 利用HTTP执行SQL语句 339
17.2.3 利用HTTP执行模板文件 344
17.3 使用XML访问数据库 348
17.3.1 XDR映射架构 348
17.3.2 XPath查询 361
17.3.3 使用FOR XML检索XML文档 364
17.3.4 使用OPENXML解析XML数据 372
第18章 数据转换服务 378
18.1 数据转换服务概述 378
18.2 使用导入/导出向导 379
18.2.1 设置数据源 379
18.2.2 设置数据目的 381
18.2.3 设置转换方法 381
18.2.4 保存、调度和复制包 384
18.3 使用DTS设计器 385
18.3.1 DTS包的结构 386
18.3.2 启动DTS设计器 388
18.3.3 数据源与数据目的 389
18.3.4 设置转换作业 390
18.3.5 包的保存和运行 394
18.4 大量数据的导入/导出 395
18.4.1 使用BULK COPY工具 395
18.4.2 使用BULK INSERT语句 400
18.5 使用编程方法设计DTS包 402
18.5.1 对象模型简介 402
18.5.2 示例1:使用VB来设计包 405
18.5.3 示例2:查看包的相关信息 414
第19章 维护SQL Server数据库 421
19.1 备份和恢复概述 421
19.1.1 备份和恢复的概念 421
19.1.2 数据库备份类型 421
19.1.3 数据库恢复模式 422
19.2 创建备份设备 422
19.2.1 使用企业管理器创建备份设备 422
19.2.2 使用T-SQL命令创建备份设备 423
19.3 删除备份设备 423
19.3.1 使用企业管理器删除备份设备 423
19.3.2 使用T-SQL命令删除备份设备 424
19.4 创建数据库备份 424
19.4.1 使用企业管理器创建数据库备份 424
19.4.2 使用T-SQL命令创建数据库备份 429
19.5 从备份中恢复数据库 432
19.5.1 使用企业管理器恢复数据库 432
19.5.2 使用T-SQL命令恢复数据库 434
19.6 备份和恢复系统数据库 437
19.7 压缩数据库 438
19.7.1 使用企业管理器压缩数据库 438
19.7.2 使用T-SQL命令压缩数据库 439
19.8 分离数据库 440
19.8.1 使用企业管理器分离数据库 440
19.8.2 使用T-SQL命令分离数据库 440
19.9 附加数据库 441
19.9.1 使用企业管理器附加数据库 441
19.9.2 使用T-SQL命令附加数据库 441
19.10 数据库维护计划 441
19.10.1 创建数据库维护计划 442
19.10.2 管理数据库维护计划 445
第20章 数据库性能的优化和调整 447
20.1 性能优化和调整概述 447
20.1.1 性能优化调整的目的 447
20.1.2 性能调整的基本步骤 448
20.1.3 性能调整的基本方法 448
20.2 监视SQL Server 449
20.2.1 可以使用的监视手段 449
20.2.2 使用事件探查器 451
20.3 数据库设计 455
20.3.1 逻辑数据库设计 456
20.3.2 物理数据库设计 458
20.3.3 设计联合数据库服务器 463
20.4 查询优化 466
20.4.1 分析查询优化 466
20.4.2 高级查询优化 467
20.4.3 索引优化 469
20.4.4 使用高效数据检索 474
20.4.5 优化分布式查询 475
20.5 优化实用工具 476
20.5.1 优化备份和还原的性能 476
20.5.2 优化大容量复制的性能 479
20.5.3 优化DBCC性能 480
20.6 设置服务器选项 480
20.6.1 使用内存配置选项 481
20.6.2 使用I/O配置选项 482
20.6.3 使用Windows NT选项 483
20.7 优化应用程序 483
20.7.1 消除过多的网络流量 483
20.7.2 允许取消正在执行的查询,实现查询或锁定超时 484
20.7.3 事务和批处理对应用程序性能的影响 485
20.7.4 存储过程对应用程序性能的影响 486
20.7.5 避免阻塞,将死锁减至最少 487
20.7.6 使用Prepared Execution来执行参数化SQL语句 490
第21章 分布式事务与分布式查询 491
21.1 事务 491
21.1.1 事务概述 491
21.1.2 如何标识一个事务 492
21.1.3 数据一致性问题 493
21.1.4 SQL Server的锁机制 494
21.1.5 事务的隔离级别 499
21.1.6 死锁及其解除 502
21.1.7 控制事务 507
21.1.8 事务的3种模式 508
21.1.9 调试事务 514
21.2 分布式事务 518
21.2.1 分布式事务概述 518
21.2.2 T-SQL分布式事务 520
21.2.3 MS DTC介绍 521
21.2.4 开发分布式事务 526
21.3 分布式查询 530
21.3.1 分布式查询概述 530
21.3.2 用链接服务器访问外部数据 531
21.3.3 用特殊的名称访问外部数据 541
21.3.4 直接传递查询语句访问外部数据源 543
21.3.5 分布式查询优化 545
21.3.6 在分布式查询中使用分布式事务 545
21.3.7 从链接服务器获得元数据 546
第22章 SQL Server复制 549
22.1 分发数据的一些方法 549
22.2 复制的基本术语 549
22.2.1 复制的作用 549
22.2.2 什么是发布者、分发者、订阅者? 550
22.2.3 可以被复制和不可以被复制的内容 551
22.2.4 复制中服务器的角色 551
22.3 4个复制代理 551
22.4 3种复制类型 552
22.5 复制方案 553
22.6 复制服务器的配置 554
22.7 设置复制 555
22.7.1 创建分发服务器和发布 555
22.7.2 设置分发数据库 559
22.7.3 配置发布 560
22.7.4 设置订阅服务器 561
22.7.5 强制订阅服务器 563
22.8 复制使用的系统表 566
22.9 如何使用复制监视器来维护复制 567
22.9.1 什么是复制监视器 567
22.9.2 所有订阅者都无法接收分发服务器的修改信息 567
22.9.3 订阅者之一无法接收修改信息 569
22.9.4 发布数据库的事务日志即将被填满或者已经被填满 569