第1章 安装及基本概论 1
1-1 SQL server简介 1
1-2 版本及安装所需硬件与软件的要求 2
1-3 管理工具 4
1-4 排序规则(collations) 5
Character Set(Code Page) 5
Sort order 5
1-5 安装SQL server 6
1-6 启动SQL server 13
通过SQL服务管理器启动 13
通过Enterprise Manager启动 14
通过NT/2000操作系统的服务管理程序启动 14
通过命令行启动 15
1-7 安装客户端管理工具 16
1-8 利用Enterprise Manager管理SQL server 17
1-9 什么是SQL 20
1-10 表(table)、行(row)、列(column) 20
1-11 数据库(Database) 21
1-12 目录和文件位置 23
1-13 SQL server 2000新特色和SQL server 7.0比较 23
1-14 SQL server 7.0新特色和SQL server 6.5比较 26
第2章 数据库 29
2-1 数据库 29
数据文件 29
文件组 30
事务日志(transaction log) 30
2-2 利用Enterprise Manager创建数据库 31
数据文件 31
事务日志 32
2-3 数据库选项 33
2-4 数据库权限 35
2-5 利用CREATE TABLE命令创建数据库 36
2-6 显示数据库结构 40
利用Enterprise Manager显示数据库结构 40
利用存储过程显示数据库结构 42
2-7 使用ALTER DATABASE命令改变数据库定义 43
添加或删除数据文件 43
修改数据文件配置 44
添加或删除事务日志 44
添加或删除文件组 44
设置文件组属性 45
利用SQL命令删除数据库 46
2-9 收缩数据库 46
利用Enterprise Manager压缩数据库大小 46
利用Enterprise Manager删除数据库 46
2-8 删除数据库 46
使用DBCC SHRINKDATABASE命令压缩数据库大小 47
使用DBCC SHRINKFILE改变数据库文件大小 48
2-10 设置数据库为脱机状态 49
2-11 Attach和Detach数据库 49
检查数据库完整性(Check database integrity) 50
生成数据库对象的SQL脚本——常规 51
2-12 生成数据库对象的SQL脚本 51
生成数据库对象的SQL脚本——设置格式 52
生成数据库对象的SQL脚本——选项 53
2-13 其他和数据库相关的存储过程 54
2-14 在可抽取式媒体上创建数据库 55
创建可供移植的数据库 55
验证可移植数据库 56
删除抽取式媒体数据库 56
2-15 数据库维护计划 56
选取数据库 57
更新数据优化信息(update Data Optimization Information) 57
数据库备份计划(Database Backup Plan) 60
指定备份磁盘目录(Specify Backup Disk Directory) 61
事务日志备份计划(Transaction Log Backup Plan) 61
事务日志备份磁盘目录 62
生成报表(Reports to Generate) 63
维护计划历史记录(Maintenance History) 64
设置维护计划的名称 64
调度设置 66
2-16 tempdb临时保存数据库 67
第3章 表 69
3-1 创建表 69
3-2 列属性 70
BINARY类型 71
3-3 列数据类型 71
CHAR类型 72
DATE TIME类型 72
DECIMAL类型 74
FLOAT和REAL类型 74
INT类型(整数类型) 75
MONEY类型 75
BIT类型 75
TIMESTAMP类型 75
TEXT类型 75
IMAGE类型 76
UNICODE类型 76
NTEXT类型 77
UNIQUEIDENTIFIER类型 77
经过Enterprise Manager创建自定类型 78
删除自定义数据类型 78
创建自定义类型 78
3-4 自定义类型 78
3-5 强制约束(constraints) 80
主键值(Primary Key) 80
UNIQUE CONSTRAINT 81
FOREIGN KEY 82
列检查 83
DEFAULT CONSTRAINT 84
3-6 创建索引文件 85
UNIQUE INDEX 86
CLUSTERED INDEX 86
NON-CLUSTERED INDEX 87
其他选项说明 87
3-8 改变表的结构 89
利用ADD子句新建表列 89
3-7 删除索引 89
将索引创建在某一文件组上 89
利用ADD CONSTRAINT子句新建强制约束 90
利用DROP CONSTRAINT子句取消强制约束 90
3-9 删除表 90
3-10 表访问权限 91
授予表访问权限 91
收回表访问权限 91
3-11 利用Enterprise Manager创建表 92
创建表结构 93
设置表的属性 93
3-12 全文检索 98
确定全文检索功能已启动 98
创建全文检索 99
查看表属性内容 103
3-13 利用Enterprise Manager管理表 103
修改表结构(Design Table) 104
打开表(Open Table) 104
生成SQL脚本 106
Manage Permissions 106
Manage Triggers 106
Display dependencies 106
New Publication 107
全文检索 107
3-14 临时保存表 107
3-15 输入数据至表 107
第4章 利用SELECT命令选取数据 109
4-1 前言 109
4-2 SELECT语法基本结构 109
4-3选取全部数据 110
4-4指定列 111
4-5 选取不重复的数据 111
4-6衍生列 111
4-7 数据排序 113
4-8 选取前几条数据 114
4-9 数据分组 115
4-10 加上选择条件 118
4-11 使用通配符 119
4-12 表的Join 120
join两个以上的表 122
使用别名 124
Self Join 124
Outer Join 125
4-14 子查询(sub query) 127
4-15 COMPUTE BY 129
4-15 UNION 129
4-16 将SELECT结果转存到其他表或临时保存表 131
4-17 将SELECT结果保存在变量内 132
4-18 全文检索查询 132
第5章 操作数据库内容 135
5-1 前言 135
5-2 添加数据到表内 136
利用INSERT命令添加数据 136
全部使用默认值 137
由其他表获得添加数据 137
由存储过程获得添加数据 137
5-3 删除表内的数据 138
利用TRUNCATE TABLE命令删除表内的数据 139
5-4 操作表内的数据 139
利用UPDATE命令操作表内的数据 139
UPDATE...FROM 140
大量数据操作 141
5-5检查表操作成功的条数 142
5-6什么是事务处理 142
5-7 事务处理范围 142
5-8 设置检查点 143
5-9 嵌套事务处理 144
5-10 事务日志 145
5-11 分布式事务处理 145
5-12 在触发器中使用ROLLBACK命令 146
5-13锁定 146
5-14 锁定的范围 147
5-15 锁定的种类 147
5-16 事务处理会自动LOCK 148
5-17 查看LOCK 149
5-18 Concurrency Problem 150
5-19 LOCK HINTS 151
5-20 LOCK的升级 152
5-21 Deadlock处理 152
5-22 Isolation Level 153
第6章 TRANSACT SQL 155
6-1 前言 155
6-2 程序注释 156
6-3 变量 156
局部变量声明 156
设置局部变量的值 157
全局变量 157
对象变量 157
6-4运算符 157
6-5流程控制命令 158
汇总函数 161
6-6 函数 161
日期时间函数 164
算术函数 166
字符串函数 167
Niladic函数 169
系统函数 169
处理TEXT和IMAGE类型数据的函数 174
数据类型转换 174
6-7 其他命令 176
CHECKPOINT 176
DBCC 176
SHUTDOWN 187
USE 187
6-8 SQL Server的全局变量 187
6-9用户定义函数 190
7-1什么是Cursor 193
第7章 Cursor 193
7-2 Cursor的声明 194
7-3打开Cursor 197
7-4 Cursor的操作处理 197
Sequential Cursor的读取 198
Scroll Cursor的读取 198
7-5 不同类型Cursor可使用的FETCH命令判断法则 201
7-6 Cursor自动关闭 201
7-7操作Cursor内的数据 202
7-8 关闭Cursor 203
7-9解除Cursor 203
7-10 管理Cursor的存储过程 203
7-11 Cursor变量 204
7-12 程序范例 204
8-1什么是视图 209
第8章 视图(View) 209
8-2 利用Enterprise Manager来管理视图 210
8-3 创建新的视图 211
利用CREATE VIEW命令创建新的视图 211
利用Enterprise Manager创建新的视图 213
8-4 通过视图添加表数据 214
8-5 通过视图更改表数据 216
8-6 通过视图删除表数据 216
8-7 使用WITH ENCRYPTION选项 217
8-8 使用WITH CHECK OPTION选项 217
8-9 视图的限制 218
8-10 用其他视图创建视图 218
8-11和视图有关的系统存储过程和SQL命令 218
显示视图定义内容 218
显示视图的关联性 218
删除视图 219
更改视图名称 219
9-1 默认值 221
9-2 利用Enterprise Manager来管理默认值 221
第9章 默认值(default)、列规则(rule) 221
9-3创建默认值 222
9-4显示默认值属性信息 223
9-5默认值与列绑定 223
9-6默认值与自定义数据类型绑定 225
9-7 解除默认值的绑定 226
9-8列规则 226
9-9 利用Enterprise Manager来管理列规则 226
9-10 创建列规则 227
9-11 显示列规则内容和信息 228
9-13 列规则与自定义数据类型绑定 230
9-14 解除列规则的绑定 231
第10章 存储过程(stored procedure)触发器(trigger) 233
10-1什么是存储过程 233
10-2 内建存储过程 234
10-3利用Enterprise Manager管理存储过程 234
10-4 创建存储过程 236
10-5 执行存储过程 237
10-6临时保存存储过程 239
10-7 设置存储过程自动执行 240
10-8 和存储过程有关的系统存储过程 240
10-9 触发器(Trigger) 241
10-10 创建触发器 241
10-11 触发器属性的限制 243
10-12 DELETED表和INSERTED表 243
10-13和触发器有关的系统存储过程 245
显示触发器属性 245
更改触发器名称 246
将触发器删除 246
11-2 SQL Server的登录认证 247
11-1 SQL Server 的安全管制模式 247
Windows登录认证 247
第11章 安全认证与数据库访问权限 247
SQL Server 登录认证 248
11-3 登录者和数据库用户 248
11-4 设置SQL Server的认证模式 250
11-5 设置Windows NT/2000用户连接SQL Server 250
设置Windows用户连接SQL Server 251
用存储过程设置NT/2000用户连接SQL Server 252
11-6 管理SQL Server登录者 253
用Enterprise Manager 管理SQL Server登录者 253
利用存储过程管理SQL Server自建的登录者 255
11-7 管理数据库用户 257
利用Enterprise Manager管理数据库用户 257
利用存储过程管理数据库用户 259
用Enterprise Manager设置登录者可访问的数据库 260
使用存储过程设置登录者可访问的数据库 260
11-8 设置登录者可访问哪些数据库 260
设置登录者无法访问的数据库 261
11-9角色(roles) 262
11-10系统内建的角色 262
自建的数据库角色 263
内建的数据库角色(Fixed database role) 263
Public数据库角色 263
内建的服务器角色(Fixed server role) 263
11-11 内建服务器角色(fixed server roles)的管理 264
利用Enterprise Manager管理内建的服务器角色 264
利用系统存储过程管理内建服务器角色 265
11-12 数据库角色的管理 267
利用Enterprise Manager管理数据库角色 267
利有存储过程管理数据库角色 269
11-13 sa登录者帐号 272
11-14 数据库对象所有者(Database Object Owner) 272
11-15 guest数据库用户 273
11-16 设置数据库对象的访问权限 273
针对每一用户设置访问权限 273
针对每一数据库对象设置访问权限 274
11-17 Application Security 276
第12章 数据库复制 277
12-1 数据库复制 277
12-2 Consistency、Autonomy、Conflict 277
transactional consistency 278
9-12 列规则与列绑定 278
12-3 数据一致性(Data Consistency) 278
Converge Consistency 279
12-4 SQL server数据库复制的理论模式 279
12-5 SQL server的数据库复制种类 280
快照式复制(Snapshot Replication) 280
事务式复制(Transactional Replication) 280
合并式复制(Merge Replication) 281
12-6 参与数据库复制的系统组件 281
12-7 数据库复制的实体结构 283
12-8 数据库初始同步 286
自动同步 286
手动同步 286
不做同步处理 286
12-9 Push/Pull方式的订阅 286
12-10创建分发服务器 287
Pull Subscription 287
Push Subscription 287
12-11创建发布内容 293
12-12 Merge replication 301
12-13 Immediate-Updating Subscriber 302
12-14设置Push订阅方式 303
12-15设置Pull订阅方式 308
12-16更改复制设置 313
更改发布服务器和分发服务器属性设置 313
更改发布内容(publication)属性设置 314
更改订阅(subscribe)属性设置 315
12-17中止复制 315
12-18 生成复制设置的脚本文件 316
12-19 复制监视器(replication monitor) 317
12-20 复制冲突处理 318
差异式备份(Differential Backup) 319
事务日志备份(Transaction log backup) 319
第13章 数据库备份 319
数据库备份(Database Backup) 319
13-1 备份的种类 319
文件或文件组备份(File and File group backup) 321
13-2 备份设置 321
13-3 创建备份设备 322
利用sp_addumpdevice命令创建备份设备 322
利用Enterprise Manager命令创建新的备份设备 322
13-4 删除备份设备 325
13-5 数据库备份 325
预约备份时间和定期自动备份 326
设置备份选项 328
13-6 数据还原 329
由备份历史中挑选备份做还原 330
由备份设置还原 331
由数据库文件或文件组备份还原 332
13-7 由上次中断处重新执行备份或还原 333
13-8 数据库备份与还原操作实例 333
13-9 数据库备份或还原注意事项 334
13-10 BACKUP和RESTORE命令 335
BACKUP命令 335
RESTORE命令 338
RESTORE HEADERONLY 340
RESTORE LABELONLY 340
RESTORE VERIFYONLY 341
13-11 还原master数据库 341
13-12 利用备份来做数据库拷贝 341
14-2 作业的管理 343
14-1 SQL server代理 343
第14章 作业、警报、操作员 343
14-3创建新的作业 345
常规设置 345
创建作业步骤(Job Step) 347
作业执行调度 349
作业执行结果通知 350
14-4 警报 351
14-5 警报的管理 351
创建新的警报 352
14-6 管理服务器消息 355
14-7操作员 357
14-8 创建操作员 357
常规设置 358
通知设置 358
14-9 Remote Server 359
15-1 数据转换服务(Data Transformation Service) 361
15-2 数据转换服务向导 361
启动DTS向导 361
选取数据源 361
第15章 数据转换服务(DTS) 361
选取数据转移的目的地 363
整个表转移或部分数据转移 364
选取源表 364
立即执行数据转移和保存为DTS包 365
15-3 列映射和数据转换 367
列映射 367
Scripting a Data Transformation 368
15-4 转移Script返回值 370
15-5 转移表内部分数据 371
15-8 修改已存在的DTS包 373
15-6 SQL server数据和文本文件间的转移 373
15-7 DTS包设计 373
数据源 374
Data Transfer 376
任务(Task) 378
15-9 创建新的DTS包 381
15-10 创建数据源 381
定义Data Transfer 382
第16章 Analysis Services(OLAP Services) 391
16-1LOTP和OLAP 391
16-2数据仓库(data warehouse) 391
历史性的数据(Historical Data) 391
组合性和一致性的数据(Consolidated and Consistent Data) 391
16-3 数据超市(Data Mart) 392
16-4 Microsoft Analysis Server 392
只读性的数据(Read-Only Data) 392
面向对象连接的数据(Subject-Oriented Data) 392
服务器端结构 393
用户端结构 393
16-5 数据保存模式 394
MOLAP(multi维度al OLAP) 394
ROLAP(relational OlAP) 394
HOLAP(hybrid OLAP) 394
16-6 多维数据集(Cube) 394
16-7 安装Microsoft Analysis Services 395
系统需求 395
开始安装 395
16-8 Analysis Manager 397
16-9 设置数据源(data source) 398
16-10 创建OLAP数据库 400
16-11 创建维度 402
16-12 创建Cube 406
16-13 对Cube做处理 409
16-14 创建多重维度表(snowflake schema结构) 413
16-15 创建Time维度 417
16-16数据分区(Partition) 421
16-17 虚拟多维数据集(virtual cube) 423
16-18 计算成员(Calculated Members) 426
16-19 成员属性(Member Properties) 427
16-20 虚拟维度 430
16-21 创建角色 431
16-22 撰写OLAP应用程序 434
16-23 PivotTable Service 435
第17章 XML 437
17-1 什么是XML 437
17-2 SOL Server 2000支持XML 438
元素(Element)和属性(Attribute) 439
17-3 XML常用的术语 439
XPATH 441
DTD Document Type Definition (DTD) 441
Style sheet 441
Template 441
17-4 在IIS中配置SQL XML支持 441
17-5 在浏览器下执行SQL命令 446
17-6 特殊字符 448
17-7 在URL指定模板文件 448
17-8 利用XSL来格式化输出查询结果 449
17-9 利用XML文件调用存储过程 452
17-10 在XML文件中指定多个查询 454
17-11 以XDR schema创建XML的数据视图(data view) 455
17-12 XDR默认的数据库映射关系 457
17-13 设置查询条件 457
17-14 利用XDR处理主文件——明细文件(master-detail)关联查询 458
17-15 XML文件的应用——数据交换 460
17-16 利用XML文件添加或更改数据库内的数据 461
17-17 OPENXML命令说明 463
参数说明 463
RowSchema声明 464
Edge Table 467
17-18 程序范例 469
附录A 查询分析器和SQL跟踪 473
A-1 利用查询分析器执行SQL命令和存储过程 473
A-2 利用事件控查器来跟踪和监视服务器活动 475
附录B 系统配置 479
附录C 范例表和数据库 487
C-1 本书中使用的范例表及其结构 487
C-2 本书中使用的范例表及其数据内容 489
C-3 关键字 491