第一部分 基础知识 3
第1章 Microsoft SQL Server 7.0基础 3
1.1 为什么使用SQL Server及为什么要从6.5升级到7.0 3
1.1.1 使用SQLServer 3
1.1.2 从SQLServer6.5升级到7.0 4
1.2 了解SQL Server的关系特征 6
1.3 了解Client/Server、N-Tier和SQL Server特征 8
1.4 检验SQL Server的特征和组件 10
1.4.1 数据库 11
1.4.2 Transact-SQL 11
1.4.3 命令行应用 12
1.4.4 应用软件 15
1.5 小结 22
第2章 了解底层操作系统Windows NT 23
2.1 SQL Server7.0桌面版 24
2.2 多处理、多任务、多线程 24
2.3 多结构 25
2.4 Windows NT下SQL Server的多用户环境 26
2.5 Windows NT的网络组件 26
2.5.1 资源共享 27
2.5.2 安装网络软件 27
2.5.3 配置适配卡 28
2.6 工作组 29
2.7 Windows NT域 31
2.8 NT用户管理 34
2.8.1 分配组 34
2.8.2 控制资源的访问 34
2.9 NT性能监视器(Performance Monitor) 36
2.9.2 在报表视图中显示信息 38
2.9.3 在告警视图中选择对象与计数器 39
2.9.4 在日志视图中选择对象 39
2.10 显示和解释SQL Server事件 40
2.10.1 配置应用程序的事件日志 41
2.10.2 显示事件细节 41
2.10.3 使用View(视图)菜单 42
2.10.4 清除事件日志 43
2.11 实际检验 43
2.12 小结 44
第3章 安装和设置服务器及客户机软件 45
3.1 服务器的硬件和软件要求 45
3.1.1 运行Setup 46
3.2 启动服务器 50
3.2.1 自动启动 50
3.2.3 通过应用程序启动 51
3.2.4 通过命令行启动 51
3.2.2 用SQL Service Manager启动 51
3.3 安装客户机软件 52
3.3.1 安装SQL Server客户机实用程序的步骤 52
3.4 小结 53
第4章 数据模型和数据库设计 54
4.1 基础知识:规范化 55
4.1.1 第一范式 56
4.1.2 第二范式 57
4.1.3 第三范式 57
4.2 N-tier模型 59
4.2.1 典型角色:客户端 59
4.2.2 典型角色:服务器端 60
4.3 建立到数据库的路标 61
4.3.1 图解实体关系“数据库流程图 61
4.2.3 规则和角色的例外 61
4.3.2 系统结构定义 64
4.3.3 回顾系统目标 65
4.3.4 避免多对多链接 66
4.3.5 何时打破范式 66
4.4 小结 67
第5章 创建数据库及事务日志 68
5.1 定义数据库及事务日志 68
5.2 创建数据库及事务日志 69
5.2.1 使用SQL Enterprise Manager创建数据库和事务日志 70
5.2.2用CREATE Database命令创建数据库和事务日志 71
5.2.3 显示数据库信息 72
5.2.4 设定数据库和事务日志的大小 73
5.2.5 删除数据库 74
5.3 使用Temp DB数据库 76
5.4 创建备份设备 76
5.4.1用SQL Enterprise Manager添加转储设备 77
5.4.2 使用sp-addumpdevice 78
5.5.1 用SQL Enterprise Manager删除 79
5.5.2 使用sp-dropdevice删除 79
5.5 删除设备 79
5.6 用可移动媒体存储数据库 80
5.6.1 创建可移动数据库 80
5.6.2 使用可移动数据库 81
5.6.4 卸载可移动媒体数据库 83
5.7 小结 83
5.6.3 安装可移动数据库 83
第6章 创建数据库表和使用数据类型 85
6.1 创建表 86
6.1.1 使用Transact-SQL创建表 86
6.1.2 使用SQL Enterprise Manager创建表 87
6.2 理解数据类型 89
6.2.1 理解Unicode 90
6.2.2 创建临时表 90
6.3 选择数据类型 91
6.3.1 整数类型 91
6.3.2 浮点数据类型 92
6.3.3 字符数据类型 95
6.3.4 DATETIME和SMALLDATETIME数据类型 97
6.3.5 特定数据类型 100
6.3.6 TEXT(文本)和IMAGE(图形)数据类型 103
6.3.8 SMALLMONEY数剧类型 105
6.3.9 SYSNAME数据类型 107
6.4 NULL和NOT NULL 107
6.4.1 ANSI支持的NULL 109
6.4.2 NULL操作 109
6.4.3 使用ISNULL() 110
6.5 identity特性 110
6.6 创建和使用约束 111
6.6.1 主关键字约束 111
6.6.2 外关键字约束 112
6.6.3 惟一性约束 113
6.6.4 检查约束 113
6.6.5 缺省约束 114
6.7 创建用户定义的数据类型 115
6.8 使用数据类型 117
6.9 通过Enterprise Manager创建表和定义列 118
6.10 用insert添加数据 120
6.11 小结 121
第7章 用Transact-SQL检索数据 125
7.1 建立范例数据库和表 125
第二部分 建立和运行SQL Server 125
7.2 用SELECT检索表中数据 126
7.3 选择查询工具 127
7.3.1 使用SQL Server查询分析器 127
7.3.2 从命令行使用ISQL 129
7.3.3 从命令行使用OSQL 130
7.3.4 用FROM(必要元素)指定表 130
7.3.5 用SELECT(必要元素)指定列 131
7.3.6 在SELECT子句中使用通配符 133
7.3.7 指定表的行 134
7.3.8 使用ORDER BY子句 147
7.3.9 使用DISTINCT来检索惟一的表列值 148
7.3.10 使用算术运算符 149
7.3.11 使用GROUP BY子句 152
7.3.12 在SELECT语句中使用COMPUTE子句 154
7.3.13 使用子查询 155
7.3.14 使用FOR BROWSE选项 159
7.4 小结 159
第8章 添加、改恋和删除表中信息 160
8.1 添加行 160
8.2 改变现有信息 162
8.2.1 更新行的操作 163
8.2.2 SET子句选项 165
8.3 删除行 165
B.6 Level 5 167
B.5 Level 4 167
8.4 用ALTER TABLE添加列 167
8.5 改变表列的宽度 171
8.6 从表中删除列 174
8.6.1 用ALTER TABLE添加约束 174
8.6.2 使用WITH NOCHECK子句 175
8.6.3 通过SQL Enterprise Manager添加约束 175
8.7 施行关系连接 176
8.7.1 使用区域变量 179
8.7.2 使用多对—和—对多连接 181
8.7.3 使用多对多连接 183
8.7.4 使用外部连接 185
8.8 用UNION合并查询结果 188
8.9 实际检验 192
第9章 函数 194
9.1 基本SQL函数 194
9.1.1 AVG 195
9.1.2 COUNT 195
9.1.4 MIN 196
9.1.3 MAX 196
9.1.5 SUM 197
9.1.6 DISTINCT与COUNT合用 197
9.1.7 CUBE和ROLLUP 198
9.2 字符串函数 198
9.2.1 ASCII 199
9.2.2 CHAR 199
9.2.3 SOUNDEX 199
9.2.4 DIFFERENCE 200
9.2.5 LOWER 200
9.2.6 UPPER 200
9.2.7 LTRIM 201
9.2.8 RTRIM 201
9.2.9 CHARINDEX 201
9.2.10 PATINDEX 202
9.2.11 REPLICATE 202
9.2.13 RIGHT 203
9.2.14 SPACE 204
9.2.15 STR 204
9.2.16 STUFF 205
9.2.17 SUBSTRING 205
9.2.18 +(连接) 206
9.3 算术函数 206
9.4 TEXT和IMAGE函数 208
9.4.1 SET TEXTSIZE 208
9.4.2 TEXTPTR 209
9.4.3 READTEXT 209
9.4.4 TEXTVALID 210
9.5转换函数 210
9.5.1CONVERT 211
9.6.4 DATEADD 213
9.6.3 GETDATE 213
9.6.5 DATEDIFF 213
9.6.2 DATEPART 213
9.6.1 DATENAME 213
9.6日期函数 213
9.7 系统函数 216
9.7.1 ISNULL和NULLIF 218
9.7.2 COALESCE 218
9.8 Niladic函数 219
9.9 实际检验 219
9.10 小结 220
第10章 管理和使用视图 221
10.2 创建视图 222
10.2.1 选择列 223
10.2.2 选择行 224
10.2.3 选择行和列 224
10.2.4 简单和复杂视图 227
10.3 显示视图 228
10.4 编辑视图 229
10.5 添加WITH ENCRYPTION子句 230
10.6 显示视图联合 231
10.7 创建视图的视图 232
10.8 重新命名视图中的列 234
10.9 重新命名视图 234
10.10 删除视图 236
10.11 通过视图插入行 237
10.12 用视图删除行 241
10.13 用视图更新行 242
10.14 探索视图的其他特性 245
10.15 视图的高级用法 248
10.15.1 视图的安全性管理 248
10.16 实际检验 249
10.17 小结 250
第11章 管理和使用索引及关键字 251
11.1 定义索引 251
11.2.3 选择好的索引对象 252
11.2.2 成功索引的关键 252
11.2.1 基于使用模式优化索引 252
11.2.4 查询优化器的增强 253
11.2.5 创建索引 253
11.2.6 显示索引信息 262
11.2.7 删除索引 263
11.3 定义关键字 264
11.3.1 添加主关键字和外关键字 265
11.3.3 删除关键字 268
11.3.2 显示关键字信息 268
11.4 实际检验 269
第12章 理解事务和锁 271
12.1 定义事务 272
12.1.1 事务限制 273
12.1.2 乐观和悲观锁 274
12.1.3 锁的背景信息 275
12.1.4 定义孤立级 276
12.1.5 创建和使用事务 278
12.1.7使用命名事务和SavePoints 279
12.1.6 DDL和数据库语句 279
12.1.8 不用IDENTITY的串行列 281
12.2 锁 283
12.2.1 显示锁信息 283
12.2.2 杀死一个锁的进程 286
12.2.3 显式保持锁 287
12.2.4 Lock Escalaion选项 288
12.3实际检验 289
12.4 小结 289
第三部分 服务器端的逻辑和能力 293
第13章 管理和使用规则、约束及缺省值 293
13.1 定义规则 294
13.1.1 创建规则 294
13.1.2 绑定规则 295
13.1.3 显示规则的绑定情况 299
13.1.4 显示规则 300
13.1.5 规则松绑 300
13.1.7 删除规则 304
13.1.6 重新命名规则 304
13.2 定义缺省值 305
13.2.1 创建缺省值 305
13.2.2 绑定缺省值 306
13.2.3 显示绑定 308
13.2.4 显示缺省值 308
13.2.5 缺省值松绑 309
13.2.6 重新命名缺省值 309
13.2.7 删除缺省值 310
13.3 实际检验 311
13.4 小结 311
第14章 管理存储过程和使用流控制语句 312
14.1 定义存储过程 313
14.1.1 在过程中使用参数 314
14.1.2 从应用程序中调用存储过程 317
14.1.3过程的显示和编辑 317
14.1.4 存储过程的修改和删除 318
14.1.6 自动重新编译 320
9.2.12 REVERSE 320
14.1.5 过程的解析及编译 320
14.1.7 定义自动执行过程 322
14.1.8 过程及批约束 323
14.1.9 批结束语句GO 323
14.2 使用流控制语句 324
14.2.1 IF…ELSE 324
14.2.2 BEGIN…END 326
14.2.3 WHILE 327
14.2.4 BREAK 328
14.2.5 CONTINUE 329
14.2.6 WHILE、BREAK及CONTINUE应用举例 329
14.3 定义和使用变量 332
14.3.1 带变量的PRINT语句 333
14.3.2 全局变量 333
14.4 使用附加过程及批关键字 335
14.4.1 GOTO 335
14.4.2 RETURN 335
14.4.3 RAISERROR 338
14.4.4 WAITFOR 341
14.4.5 CASE表达式 341
14.5 实际检验 347
14.6 小结 347
第15章 创建并管理触发器 348
15.1 SQL Server触发器 348
15.1.1 创建触发器 349
15.1.2 触发器限制条件 350
15.2 使用触发器 351
15.2.1 INSERT及UPDATE触发器 351
15.2.2 DELETE触发器 353
15.2.4 发送Email的触发器 354
15.2.3 Rollback触发器的特殊事务管理 354
15.3 嵌套触发器 355
15.4 显示触发器信息 358
15.4.1 使用SQL Enterprise Manager 358
15.4.2 使用sp_help、sp_depends及sp_helptext 359
15.5 删除触发器 361
15.6 实际检验 361
15.7 小结 362
第16章 服务器、数据库及查询选项 363
16.1 定义服务器选项 363
16.1.1 显示、设置服务器选项 364
16.1.2 服务器选项解释 369
16.1.3 系统分类表:SYSCONFIGURES及SYSCURCONFIGS 377
2.9.1 图表视图中选择对象及计数器 378
16.2 定义数据库选项 378
16.2.1 显示及设置数据库选项 379
16.2.2 数据库选项解释 381
16.3 查询选项 383
16.3.1 显示和设置查询选项 383
16.3.2 查询选项解释 385
16.4 以最小配置模式启动服务器 387
16.4.3 修复以最小配置模式的服务器 388
16.4.2 控制面板启动 388
16.4.1 命令行启动 388
16.5 小结 389
第17章 设置和管理复制 390
17.1 理解基本概念 390
17.2 是分发信息还是复制信息 391
17.3 SQL Server复制基础 393
17.3.1 在测试连接之前 393
17.3.2 出版:向其他系统提供信息 395
17.3.3 订阅:信息的接收 396
17.3.4 日志阅读进程 397
17.3.5 分发服务器:信息源 397
17.3.6 几种复制配置方案 397
17.5 授权出版 402
17.5.1 出版数据库:怎样复制整个数据库 406
17.5.2 部分分区数据库和表的出版 411
17.6 授权订阅 414
17.7 监视复制 416
17.8.1 禁止特定服务器 417
17.8.2 完全卸载复制 417
17.8 卸载复制 417
17.9 实际检验 418
17.10 小结 418
第18章 分布事务协同器 419
18.1 资源管理器和事务管理器 419
18.1.1 资源管理器 420
18.1.2 事务管理器 420
18.1.3 建立分布事务 420
18.2 为使用分布事务协同器配置远程服务器 420
18.3 安装和配置分布事务协同器 421
18.3.1 建立DTC服务器组件 422
18.4 定义分布事务 425
18.5 调试分布事务 426
18.6 实际检验 426
18.7 小结 427
第19章SQL Server管理 431
19.1 理解和执行检验点 431
第四部分 SQL Server管理 431
19.2 数据库一致性检验器 433
19.2.1 确保最佳结果的配置:单用户模式 433
19.3 理解和使用UPDATE STATISTICS和RECOMPILE 438
19.4 备份和恢复数据库及事务日志 440
19.4.1 备份周期 440
19.4.2 备份和恢复数据库 442
19.4.3 从备份中恢复信息 445
19.5 信息传送 447
19.6 实际检验 450
19.7 小结 450
20.1 安全类型 451
第20章SQL Server安全性 451
20.1.1 标准安全性 453
20.1.2集成安全性 453
20.2 创建和管理用户账号 454
20.2.1 使用SQL Enterprise Manager创建一个登录 454
20.2.2 使用SQL Enterprise Manager删除登录和用户 457
20.2.3 使用sp_addlogin添加登录 457
20.2.4 使用sp_adduser添加用户 457
20.2.5 sp_droplogin和sp_dropuser 458
20.3 创建和使用角色 458
20.3.1 使用SQL Enterprise Manager添加角色 459
20.3.2 使用 SQL Enterprise Manager删除角色 460
20.4 使用许可和SQL Server 460
20.4.1 对象许可 460
20.4.2 使用SQL Enterprise Manager管理许可 461
20.4.3 GRANT和REVOKE 461
20.5 使用视图增强安全性 462
20.6 使用存储过程来隐藏基础数据对象和商业规则 463
20.7.1 物理安全 465
20.7 SQL Server之外的安全性 465
20.7.2 局域网访问 465
20.7.3 远程或广域网访问 466
20.7.4 应用程序安全性 466
20.7.5 加密的多协议网库 466
20.9 小结 467
20.8 实际检验 467
第21章 性能优化 468
21.1 数据库大小设置 468
21.1.1 数据类型大小 469
21.1.2 计算表空间 470
21.1.3 FILL FACTOR 473
21.2 使用Windows NT性能监视器 473
21.2.1 SQL Server统计对象 473
21.2.2 创建和使用图表视图 480
21.2.3 创建和使用报表 481
21.2.4 创建和使用警告 481
21.4 小结 482
21.3 实际检验 482
第五部分 应用开发和解决方案 485
22.1 DB-Library接口 485
第22章 向下兼容选项 485
22.1.1 DB-LIB所需的组件 486
22.1.2 概念和特性 486
22.1.3 发送命令 488
22.1.4 结果集 489
22.1.5 关闭SQL连接 490
22.1.6 客户机配置 490
22.1.7 使用DB-Library的优缺点 490
22.2 开放式数据库连接(ODBC) 490
22.2.1 SQL-DMO对象的契合点 491
22.2.2 数据访问对象(DAO)的契合点 492
22.2.3 概念和特性 492
22.2.4 ODBC会话 493
22.2.5 客户机配置 494
22.2.6 使用ODBC DSN 495
22.2.7 使用ODBC的优缺点 496
22.3 小结 497
23.1 建立基于Internet和Intranet的解决方案 498
第23章 SQL Server和Internet 498
23.2 建立Internet数据库连接器 499
23.3 为SQL Server数据库建立ODBC数据库源 502
23.4 为Microsoft Access数据库建立ODBC数据库源 503
23.5用户权限及安全性考虑 504
23.6 建立动态网页 504
23.6.1建立初始提示表 504
23.6.2 建立查询源文件 506
23.6.3 建立结果源文件 508
23.7 Intermet数据库连接器:概述及举例 514
23.8 使用SQL Server的Web Aasistant Wixard 516
23.8.1 先决条件 516
23.8.2 启动Web Aasistant Wizard 517
23.8.3 格式化网页 520
23.8.5 在Web站点上查看结果 522
23.8.4 在SQL Server中查看结果 522
23.9 将IIS Accesses登录到ODBC数据库 524
23.9.1 日志查询举例 527
23.9.2 在线查看系统日志 528
23.9.3 配置IIS等待SQL Server启动 529
23.10 附加选项 530
23.10.1 选择适当的方法 530
23.10.2 活动网页及ADO 530
23.11 小结 532
第24章 创建和使用光标 533
24.1前端和后端光标 533
24.2 使用SQL Server光标 535
24.2.1 定义光标 536
24.2.2 打开光标 537
24.2.3 存取光标 538
24.2.4 关闭光标 539
24.2.6 光标使用举例 539
24.2.5 释放光标 539
24.3嵌套光标 543
24.4 在前端应用程序中处理光标 545
24.5 实际检验 546
24.6 小结 546
第25章 使用SQL Server Agent 547
25.1 SQL Server Agent 547
25.2 配置SQL Server Agent 547
25.3 操作员 550
25.3.1创建操作员 550
25.4 SQL Server作业 551
25.4.1 创建作业 551
25.5 SQL Server警报 557
25.5.1 定义警报 558
25.6 为作业和警报建立中心服务器 562
25.6.1 设置主服务器 562
25.7 实际检验 564
25.8 小结 565
第26章 集成Microsoft Office应用软件和SQL Server 566
26.1 从Access扩展到SQL Server 566
26.2 在SQL Server中使用Microsoft Access 567
26.2.1扩充Access应用软件举例 568
26.2.2 用Microsoft Access建立客户机/服务器系统 577
26.2.3 创建旁路查询 577
26.3 实际检验 578
26.4 小结 578
第27章 使用SQL Server7.0的高级数据对象 580
27.1 ADO的核心组件 580
27.2.1 Global.asa——连接基础 581
27.2 在网页或应用软件中集成ADO 581
27.2.2 使用连接 584
27.2.3 连接对象属性 585
27.2.4 方法 588
27.3 ADO在SQL Server中的使用 590
27.3.1 Command对象 591
27.3.2 Recordset对象 593
27.4 小结 601
第六部分 附录 605
附录A 使SQL Server具备邮件功能 605
A.1.1设置SQL Mail组件 605
A.1.2设置SQL Server服务 605
A.1 SQL Mail的组成 605
A.1.3 安装Outlook客户机软件 606
A.1.4 设置Exchange邮箱 607
A.1.5配置Outlook客户机程序 608
A.1.6 测试Exchange连接 610
A.1.7 配置、启动和测试SQL邮件 611
A.1.8 使用SQL Mail 612
A.2 实际检验 614
A.3 小结 615
附录B 磁盘阵列 616
B.1 Level 0 616
B.2 Level 1 617
B.3 Level 2 617
B.4 Level 3 617
附录C SQL Server系统表 618
附录D 使用SQL Server Profiler 622
D.1 启动Profiler 622
D.2 使用Profiler 622
D.3 设置跟踪 623