目 录 3
第一部分SQL Server 7.0数据库系统管理 3
第一章SQL Server 7.0简介 3
1.1 SQL Server数据库结构特点 4
1.2安装SQL Server 5
1.2.1环境需求 5
1.2.2安装程序选项设置 7
1.2.3安装测试 8
1.2.4安装内容介绍 10
第二章服务器管理 19
2.1 服务器注册与启动管理 19
2.1.1注册服务器 19
2.1.2系统启动 22
2.1.3 系统暂停与退出 25
2.2服务器配置选项设置 26
2.3连接服务器管理 29
2.3.1 创建连接服务器 30
2.3.2连接服务器登录标识管理 32
2.4远程服务器管理 35
2.4.1 远程访问的实现方法 35
2.4.2删除远程服务器 38
2.4.3 远程用户与本地用户间的映射关系 38
第三章访问控制 41
3.1 SQL Server访问控制策略 41
3.1.1安全帐户认证 42
3.1.2访问许可确认 43
3.2管理服务器登录标识 44
3.2.1 Windows NT帐户 44
3.2.2 SQL Server登录标识 46
3.2.3 利用管理工具管理登录标识 48
3.3角 色 49
3.3.1 固定角色 50
3.3.2 用户自定义角色 51
3.3.3角色成员管理 52
3.3.4应用程序角色 54
3.4数据库用户管理 56
3.4.1 使用系统存储过程管理用户 56
3.4.2使用管理工具管理用户 57
3.4.3特殊数据库用户 60
3.5许可设置 61
3.5.1许可种类 61
3.5.2使用语句管理许可 64
3.5.3使用管理工具设置许可 70
3.6小结 72
第四章数据库管理 75
4.1数据库存储结构 75
4.1.1 数据库文件和文件组 75
4.1.2数据文件的使用分配 77
4.2.1创建数据库 78
4.2建立、修改和删除数据库 78
4.2.2设置数据库选项 83
4.2.3修改数据库 87
4.2.4删除数据库 89
4.3检索数据库定义信息 89
4.3.1 查看数据库定义信息 90
4.3.2查看数据库数据空间 92
4.3.3 查看数据库日志空间 . 93
4.4数据库备份 94
4.4.1制定备份策略 94
4.4.2数据一致性检查 96
4.4.3备份设备管理 97
4.4.4数据备份 100
4.4.5使用管理工具备份数据库及其日志 105
4.5数据库恢复 108
4.5.1 RESTORE语句 108
4.5.2检索备份信息 111
4.5.3恢复用户数据库 116
4.5.4恢复系统数据库 117
4.5.5使用管理工具恢复数据库 118
第五章SQL Server错误消息 123
5.1 SQL Server错误消息结构 123
5.1.1错误消息号 124
5.1.2错误级别 124
5.1.3错误状态号 125
5.1.4错误描述信息 125
5.2建立用户自定义错误消息 126
5.2.1添加用户定义错误消息 126
5.2.2删除用户定义的错误消息 127
5.2.3 RAISERROR语句 127
第六章SQL Server代理服务 129
6.1 SQL Server代理服务配置 130
6.2定义操作员 132
6.3任务管理 134
6.3.1定义任务 135
6.3.2任务调度 138
6.3.3任务执行状态通知 140
6.4警报管理 141
6.4.1事件警报 141
6.4.2性能警报 143
6.4.3集中管理SQL Server事件 145
第二部分Transact-SQL语言 149
第七章Transact-SQL语言基础 149
7.1 SQL发展历史 149
7.2样本数据库介绍 150
7.3标识符 150
7.3.1常规标识符 151
7.3.2定界标识符 153
7.3.3标识符应用 155
7.4 Transact-SQL语法格式约定 158
7.5数据类型 159
7.5.1 系统数据类型 159
7.5.2 用户定义数据类型 168
7.5.3数据类型优先级 169
7.6运算符 170
7.6.1算术运算符 170
7.6.2位运算符 170
7.6.3 比较运算符 170
7.6.4逻辑运算符 171
7.6.5字符串连接符 175
7.6.6赋值运算符 175
7.6.7 运算符的优先级 176
7.7变量 176
7.7.1全局变量 176
7.7.2局部变量 182
7.8.1 BEGIN…END语句 183
7.8流控制语句 183
7.8.2 IF…ELSE…语句 184
7.8.3 GOTO语句 185
7.8.4 WHILE、BREAK、CONTINUE语句 185
7.8.5 WAITFOR语句 186
7.8.6 RETURN语句 187
7.8.7 CASE表达式 188
8.1系统函数 191
第八章函数 191
8.2日期函数 200
8.3字符串函数 202
8.4数学函数 205
8.5图像和文本函数 206
8.6安全函数 208
8.7数据元函数 209
8.8集合函数 215
8.9.2行集函数 217
8.9游标函数和行集函数 217
8.9.1游标函数 217
第九章表、视图与索引 223
9.1表和索引的物理存储结构 223
9.2表 224
9.2.1建立数据表 225
9.2.2修改表 229
9.2.3检索表定义信息 231
9.2.4删除表 232
9.3约束 233
9.3.1数据完整性分类 233
9.3.2 DEFAULT约束 234
9.3.3 CHECK约束 235
9.3.4 PRIMARY KEY约束 236
9.3.5 UNIQUE约束 237
9.3.6 FOREIGN KEY约束 237
9.4.1插入数据 240
9.4表数据操作 240
9.4.2修改数据 244
9.4.3删除数据 246
9.5索引 248
9.5.1索引类型 248
9.5.2建立索引 249
9.5.3 删除索引 251
9.6全文索引 252
9.6.1 全文操作类系统存储过程 253
9.6.2全文索引应用示例 257
9.7视图 258
9.7.1建立视图 259
9.7.2 视图的应用 261
9.7.3修改和删除视图 263
10.1默认 265
10.1.1创建默认对象 265
第十章默认和规则 265
10.1.2默认的应用 266
10.1.3删除默认对象 268
10.2规则 269
10.2.1创建规则 269
10.2.2规则的应用 269
10.2.3删除规则 270
第十一章存储过程 273
11.1创建存储过程 273
11.2存储过程调用 275
11.2.1 过程参数传递 276
11.2.2 过程的返回值 277
11.2.3 过程的自动执行 277
11.3存储过程应用 277
第十二章触发器 281
12.1.1创建触发器 282
12.1创建触发器 282
12.1.2触发器限制 286
12.1.3触发器所产生的临时表 288
12.1.4触发器嵌套调用 289
12.2修改和删除触发器 289
12.3触发器应用举例 290
12.3.1 INSERT触发器 290
12.3.2 UPDATE触发器 291
12.3.3 DELETE触发器 293
第十三章批、事务和锁 295
13.1批 295
13.2事务 296
13.2.1事务模式 296
13.2.2事务处理语句 298
13.2.3事务处理实例 300
13.2.4分布式事务 303
13.3.1资源锁定模式 305
13.3锁 305
13.3.2检索锁信息 306
13.3.3死锁处理 310
第十四章查询 311
14.1简单查询 312
14.1.1选择列表 312
14.1.2 FROM子句 316
14.1.3使用WHERE子句设置查询条件 317
14.1.4查询结果排序 321
14.2统计 322
14.2.1 GROUPBY子句 322
14.2.2 COMPUTE子句 326
14.3创建查询结果表 328
14.4联合查询 329
14.5连接 331
14.5.1内连接 332
14.5.2外连接 333
14.5.3交叉连接 336
14.5.4自身连接 338
14.6子查询 339
14.6.1[NOT]IN子查询 341
14.6.2[NOT]EXISTS子查询 342
14.6.3比较子查询 344
14.6.4相关子查询 345
14.6.5连接与子查询 346
14.7全文查询 347
14.7.1 CONTAINS 347
14.7.2 FREETEXT 348
第十五章游标 351
15.1游标定义 352
15.1.1 SQL-92游标定义语法 352
15.1.2 Transact-SQL扩展游标定义 353
15.2.2提取数据 355
15.2游标数据操作 355
15.2.1填充游标 355
15.2.3游标定位修改和删除操作 356
15.2.4关闭和释放游标 356
15.2.5应用举例 357
第三部分管理工具和实用程序 363
第十六章数据复制 363
16.1 SQL Server复制技术 363
16.1.1 复制结构 363
16.1.2复制代理 364
16.1.3复制类型 364
16.1.4立即修改订阅 368
16.1.5存储过程复制 369
16.2出版和分发服务器配置 369
16.2.1 复制操作控制 369
16.2.2分发服务器配置 370
16.2.3 出版服务器配置 373
16.2.4限制对分发服务器的访问 375
16.3出版物管理 376
16.3.1定义出版数据库 376
16.3.2快照出版物和事务出版物管理 377
16.3.3合并出版物管理 382
16.3.4创建出版物快照代理 384
16.3.5 出版物访问控制 385
16.3.6检索出版物信息 388
16.4出版条目管理 390
16.4.1 定义快照和事务条目 390
16.4.2修改快照和事务条目 398
16.4.3删除快照和事务条目 399
16.4.4创建合并条目 400
16.4.5修改合并条目 403
16.5出版实例 404
16.4.6删除合并条目 404
16.6订阅管理 407
16.6.1注册订阅服务器 407
16.6.2快照和事务出版物订阅管理 410
16.6.3合并出版物订阅管理 418
16.7使用管理工具实现复制操作 424
16.7.1 配置分发服务器和出版服务器 425
16.7.2创建出版物 428
16.7.3生成复制脚本程序 433
16.7.4建立订阅 439
第十七章服务器活动和性能监视 443
17.1 SQLServer性能监视器 444
17.1.1性能监视器介绍 444
17.1.2 SQLServer监视对象和计数器 448
17.2 SQLServer Profiler 453
17.2.1 SQLServer Profiler捕获的事件数据 453
17.2.2 SQLServer Profiler所捕获事件 454
17.2.3 SQLServer Profiler应用 460
17.3 SQLServer企业管理器 464
17.3.1 监视服务器用户进程活动 464
17.3.2按进程查看资源锁定信息 466
17.3.3按对象查看资源锁定信息 466
17.4其它服务器监视方法 467
17.4.1 sp_who 467
17.4.2 sp_monitor 468
第十八章SQL Server数据库Web出版 471
18.1 HTML文档结构 472
18.1.1 HTML常用标识 472
18.1.2 HTML文档结构 473
18.2 SQL Server Web Assistant 474
18.2.1 Web Assistant实现过程 474
18.2.2使用Web Assistant出版数据库 475
18.3 Web出版类系统存储过程 484
18.3.1创建Web出版任务 485
18.3.2执行Web出版任务 489
18.3.3删除Web出版任务 489
18.3.4数据库出版实例 490
第十九章实用程序 495
19.1 isql和osql 495
19.1.1 isql和osql语法 495
19.1.2 isql和osql命令 498
19.1.3 isql和osql环境变量 500
19.2批拷贝程序bcp 500
19.2.1 bcp程序的功能 501
19.2.2应用实例 503
19.3 odbcping 505
第四部分 ODBC数据库应用程序设计 509
第二十章ODBC简介 509
20.1.2驱动程序管理器 510
20.1 ODBC结构层次 510
20.1.1 应用程序 510
20.1.3 数据库驱动程序 511
20.2 ODBC数据源管理 514
20.2.1 查看系统安装的数据库驱动程序 514
20.2.2建立数据源 515
20.2.3 重新配置或删除数据源 520
20.2.4建立ODBC函数调用日志 520
20.3 ODBC数据类型 523
20.4ODBC接口一致性 524
20.4.1 接口函数一致性 524
20.4.2属性一致性 526
20.4.3描述符字段一致性 528
20.5 ODBC应用程序结构 529
21.1 申请和释放句柄 531
21.1.1 申请句柄 531
第二十一章连接数据源 531
21.1.2释放句柄 532
21.2属性设置 534
21.2.1设置环境属性 534
21.2.2设置连接属性 536
21.2.3设置语句属性 540
21.2.4检索环境连接和语句属性设置 544
21.3连接驱动程序和数据源 545
21.3.1 用SQLConnect函数连接数据源 545
21.3.2用SQLDriverConnect函数建立连接 546
21.3.3用SQLBrowserConnect函数建立连接 549
21.3.4断开与数据源的连接 552
21.4检索系统驱动程序和数据源信息 552
21.4.1查找系统已建立的ODBC数据源 552
21.4.2查找系统所安装的驱动程序 553
21.5.1 确定驱动程序支持的ODBCAPI函数 554
21.5查看驱动程序和数据源的支持能力 554
21.5.2检查数据源所支持的数据类型 556
21.5.3确定驱动程序和数据源的支持能力 558
第二十二章错误诊断 561
22.1 ODBC函数诊断信息 561
22.1.1 ODBC函数返回码 561
22.1.2诊断记录 562
22.2读取ODBC诊断信息 565
22.2.1检索诊断字段 565
22.2.2检索状态记录 567
22.3 ODBC错误处理实例 568
第二十三章目录函数 575
23.1 目录函数参数类型 576
23.2检索表信息 578
23.2.1查找数据源中的数据表 578
23.2.2检索表中许可设置信息 580
23.2.3检索表和索引的统计信息 581
23.2.4读取主键信息 582
23.2.5检索外键信息 583
23.3检索列信息 585
23.3.1一般列信息 585
23.3.2特殊列信息 587
23.3.3列许可设置信息 589
23.4检索存储过程信息 590
23.4.1 查找系统中的存储过程 590
23.4.2检索存储过程参数信息 591
第二十四章执行SQL语句 593
24.1 SQL语句执行方式 593
24.1.1立即执行 593
24.1.2准备执行 594
24.2 ODBC函数执行方式 595
24.2.1 函数执行方式设置 596
24.2.2取消函数的异步执行操作 596
24.3.1 SQL语句构造 597
24.3 SQL语句参数传递 597
24.3.2执行前传递参数 598
24.3.3传递参数数组 601
24.3.4执行时传递参数 606
24.4检索SQL语句及参数信息 608
24.4.1检索语句参数数量 608
24.4.2检索参数详细信息 609
24.4.3 查看SQL语句的本地文本格式 609
24.5事务处理 610
24.5.1检查数据源的事务支持能力 610
24.5.2设置事务提交方式 610
24.5.3提交或回滚事务 611
第二十五章ODBC函数执行结果处理 613
25.1 ODBC游标 613
25.1.1 ODBC游标类型 613
25.1.2查看系统对游标的支持能力 615
25.1.3游标命名 617
25.1.4关闭游标 618
25.2读取结果信息 618
25.2.1 了解修改操作所影响的行数 619
25.2.2检索结果集合信息 619
25.3 为结果集合列指定存储变量 623
25.3.1 列向关联 625
25.3.2行向关联 626
25.4检索结果集合数据 627
25.4.1 SQLFetch函数 627
25.4.2 SQLFetchScroll函数 630
25.4.3读取未关联列中的数据 633
25.4.4处理多个结果集合 635
25.5修改结果集合数据 635
25.5.1 SQLBulkOperations函数 635
25.5.2 SQLSetPos函数 637
25.5.3定位修改和删除操作 638
25.6小结 640
第五部分SQL Server客户端应用程序开发工具:DB-Library第二十六章DB-Library程序设计基础 645
26.1 建立DB-Library应用程序开发环境 645
26.2 DB-Library网络通信 646
26.2.1 DB-Library中的主要数据结构 646
26.2.2 DB-Library网络通信 647
26.3 DB-Library数据类型定义 647
26.4 DB-Library的数据库访问过程 650
26.4.1连接SQLServer 650
26.42命令处理 653
264.3结果处理 657
26.4.4关闭连接 657
26.5错误和消息处理 658
26.5.1 DB-Library错误处理 658
26.5.2 SQLServer消息处理 661
26.6.2设置命令响应超时时限 663
26.6 DB-Library参数和选项设置 663
26.6.1 设置登录超时时限 663
26.6.3设置可同时打开的连接数 664
26.6.4设置和清除选项 664
26.7 DB-Library应用程序的编辑、编译和链接 666
26.8 DB-Library与ODBC编程方法比较 669
第二十七章批命令执行结果处理 671
27.1读取结果行数据 671
27.1.1检查执行结果 672
27.1.2使用变量读取结果数据 672
27.1.3行缓冲方式 676
27.1.4使用指针存取结果行数据 680
27.1.5废弃执行结果 684
27.2检索结果行信息 685
27.3浏览模式 686
27.3.1检索浏览基表信息 687
27.3.2构造数据修改语句 689
27.3.3时间戳列值 690
27.3.4浏览模式应用 691
27.4 DBLibrary游标操作 695
27.4.1打开和关闭DB-Library游标 696
27.4.2检索游标数据 698
27.4.3使用游标修改数据 700
27.4.4检索游标结果集合信息 706
第二十八章批拷贝操作 711
28.1 初始化批拷贝操作 711
28.2用户数据文件与表间的拷贝操作 713
28.2.1批拷贝参数设置 713
28.2.2数据格式控制 713
28.2.3拷贝操作 716
28.3将变量数据拷贝到SQL Server表中 718
28.3.1 初始化阶段 719
28.3.2向SQL Server传递数据 721
28.3.3保存拷贝数据 722
第二十九章两阶段提交 727
29.1 两阶段提交实现过程 727
29.1.1 与服务器连接 728
29.1.2开始阶段 728
29.1.3提交阶段 729
29.2两阶段提交函数 730
29.2.1 事务初始化处理函数 730
29.2.2事务提交处理函数 732
29.2.3检索分布式事务处理信息 733
第六部分嵌入式SQL程序设计 737
第三十章嵌入式SQL程序设计基础 737
30.1 嵌入式SQL应用程序开发环境 737
30.2嵌入式SQL数据类型 738
30.3.1 嵌入式SQL语句及保留字 739
30.3嵌入式SQL语法 739
30.3.2静态SQL语句和动态SQL语句 741
30.3.3宿主变量 741
30.3.4嵌入式SQL的主要数据结构 743
30.4嵌入式SQL数据库访问过程 743
30.4.1连接SQL Server 743
30.4.2 命令处理 744
30.5嵌入式SQL错误处理 745
30.4.4关闭连接 745
30.4.3结果处理 745
30.6嵌入式SQL选项设置 747
30.7建立嵌入式SQL应用程序 747
30.7.1应用程序建立步骤 747
30.7.2应用程序运行方式 748
30.7.3使用预编译器 749
30.7.4编译、链接及调试 751
31.1.1立即方式执行SQL命令 755
31.1 SQL命令执行方式 755
第三十一章嵌入式SQL命令及结果处理 755
31.1.2修改数据 756
31.1.3执行SQL批命令和事务 757
31.1.4执行存储过程 758
31.1.5准备方式执行SQL命令 758
31.1.6 SQL命令状态检测 761
31.2单结果行处理 762
31.3游标操作 769
31.3.1游标的定义和选项设置 769
31.3.2游标的打开和关闭 774
31.3.3检索游标数据 775
31.3.4使用游标修改数据 776
31.3.5使用游标的例子 778
31.4使用SQLDA处理数据 783
31.4.1 SQLDA结构定义 783
31.4.2使用SQLDA数据结构输入数据 786
31.4.3使用SQLDA数据结构输出数据 787
31.4.4 SQLDA结构应用 788
附录A pubs数据库 795
authors表 795
titleauthor表 796
titles表 797
publishers表 799
pub_info表 799
discounts表 800
sales表 800
stores表 801
employee表 802
jobs表 803
roysched表 804
附录B诊断记录动态函数代码 807
附录C ODBC错误代码 811