目录 1
第1章 SQL Server 2000的新特色 1
1.1 新的数据类型 1
1.2 用户自定义函数 2
1.3 增强的索引 3
1.4 SQL Server 2000和XML 4
1.5 全文检索功能 6
1.6.1 集群服务器与联合服务器的区别 7
1.6 联合服务器 7
1.6.2 使用联合服务器 8
第2章 SQL Server 2000构架 10
2.1 SQL Server 2000构架基础知识 10
2.1.1 SQL Server构架概述 10
2.1.2 SQL Server 2000组件概述 10
2.2 SQL Server 2000的特性 11
2.2.1 与Internet集成 11
2.2.2 可伸缩性和可用性 11
2.3.1 数据库 12
2.3 关系数据库组件 12
2.3.3 可伸缩性 12
2.3.2 关系数据库 12
2.2.5 数据仓库 12
2.2.4 易于安装、部署和使用 12
2.2.3 企业级数据库功能 12
2.3.4 结构化查询语言 13
2.3.5 可扩展标记语言 13
2.4 数据库构架 13
2.5 管理构架 14
2.5.1 DDL和存储过程 14
2.5.2 SQL分布式管理框架 14
2.5.3 图形工具 14
2.5.4 自动管理构架 17
2.5.7 数据完整性验证 18
2.5.6 数据导入/导出构架 18
2.5.5 备份/恢复构架 18
2.6 复制构架 19
2.7 数据仓库和联机分析处理 19
2.7.1 将OLTP数据转换到OLAP数据仓库 20
2.7.2 SQL Server 2000数据仓库和OLAP组件 20
2.8 应用程序开发框架 21
2.8.1 应用程序接口(API)或统一资源定位器(URL) 21
2.8.2 数据库语言 21
第3章 SQL Server 2000的兼容性 22
3.1 SQL Server的向后兼容 22
3.1.1 客户端网络实用工具和命名实例 22
3.1.5 SQL查询分析器中的默认连接选项设置 23
3.1.4 恢复模型和数据库选项 23
3.1.2 升级SQL Server 6.5客户端软件 23
3.1.3 身份验证模式 23
3.1.6 来自早期版本可视化数据库设计工具的数据库关系图 24
3.1.7 数据转换服务 24
3.1.8 English Query和SQL Server7.0 OLAP服务 25
3.2 SQL Server 2000的不兼容问题 25
3.2.1 多服务器作业和命名实例 25
3.2.2 在远程表上所执行操作的ROWCOUNT设置 25
3.2.3 服务器配置选项 25
3.2.7 SQL-SCM 26
3.2.8 bcp实用工具 26
3.2.5 SQL事件探查器扩展存储过程 26
3.2.6 SQL-DMO中的扩展对象 26
3.2.4 保留关键字 26
第4章 故障转移群集 27
4.1 故障转移群集概述 27
4.2 故障转移群集支持 27
4.3 处理故障转移群集 28
4.3.1 安装故障转移群集前的准备工作 28
4.3.2 安装故障转移群集 28
4.3.3 故障转移群集的相关性 29
4.4.2 命名虚拟服务器 30
4.4.3 创建故障转移群集前的准备 30
4.4 创建故障转移群集 30
4.4.1 虚拟服务器的元素 30
4.4.4 创建故障转移群集 31
4.5 维护故障转移群集 32
4.5.1 向现有虚拟服务器中添加节点 32
4.5.2 从现有故障转移群集中删除节点 32
4.5.3 将SQL Server群集实例作为独立实例运行 33
4.5.4 从故障转移群集失败中恢复 33
4.5.5 更改服务帐户 34
4.6 在故障转移群集中使用SQL Server工具 34
4.6.1 全文查询 34
4.6.2 SQL Server企业管理器 34
4.6.5 SQL查询分析器 35
4.6.6 SQL邮件 35
4.6.3 服务管理器 35
4.6.4 SQL事件探查器 35
第5章 数据转换技术 36
5.1 数据转换技术简介 36
5.2 数据转换服务技术 37
5.2.1 DTS数据导入/导出向导 37
5.2.2 DTS包设计器 44
5.2.3 DTS Transfer Manager 44
5.3 bcp技术 46
5.3.1 bcp的语法 46
5.3.2 bcp的使用 49
5.4.2 实现从Sybase Anywhere到SQL Server的转移 50
5.4.1 实现从Access到SQL Server的转移 50
5.4 数据转换技术实例 50
第6章 备份与恢复数据 53
6.1 理解备份与恢复 53
6.2 使用恢复模型 54
6.2.1 简单恢复 54
6.2.2 完全恢复 54
6.2.3 大容量记录日志恢复 55
6.3 备份与恢复操作 56
6.3.1 数据库备份 56
6.3.2 差异数据库备份 64
6.3.3 事务日志备份 67
6.4 管理备份 70
6.4.3 验证备份 71
6.4.1 备份介质 71
6.4.2 查看有关备份的信息 71
6.5 了解检查点机制 72
第7章 管理服务器 73
7.1 注册服务器 73
7.2 设定sa密码 73
7.3 设置网络支持 74
7.3.1 Net-Library和网络协议 74
7.3.2 网络实用工具 74
7.3.3 通过Internet连接到SQL Server 75
7.4.3 管理链接服务器的定义 76
7.4.2 链接服务器详细信息 76
7.4.1 链接服务器组件 76
7.4 配置链接服务器 76
7.4.4 建立链接服务器的安全性 78
7.5 配置远程服务器 79
7.6 使用备用服务器 80
7.6.1 创建备份服务器 80
7.6.2 使备用服务器联机 81
7.7 志传送 81
7.7.1 日志传送模型 81
7.7.2 使用数据库维护计划向导配置日志传送 81
7.8 设置配置选项 88
7.9 管理SQL Server消息 89
8.1.1 多网络协议支持 90
第8章 管理客户端 90
8.1 客户端Net-Library和网络协议 90
8.1.2 Net-Library的安装和默认设置 91
8.2 配置客户端之前的准备 91
8.3 配置客户端网络连接 91
8.4 配置客户端Net-Library 91
8.4.1 查看网络库信息 92
8.4.2 更改默认的客户端配置 92
8.5 配置ODBC数据源 93
8.5.1 使用ODBC数据源管理器 93
8.5.3 添加或删除ODBC数据源 94
8.5.2 使用ODBC API函数 94
8.6 配置OLE DB客户端 96
8.7 DB-Library选项 97
第9章 数据复制 98
9.1 数据复制的概念和特点 98
9.2 复制模型 99
9.3 复制类型 100
9.3.1 快照复制 100
9.3.2 事务复制 101
9.3.3 合并复制 102
9.5 建立复制 104
9.4 规划复制 104
9.6 使用向导 105
9.6.1 使用配置发布和分发向导 105
9.6.2 使用创建发布向导 106
9.6.3 使用请求订阅向导 108
9.7 在异构环境中复制数据的技术 110
第10章 监视服务器性能和活动 112
10.1 评估服务器性能 112
10.1.1 响应时间与吞吐量 112
10.1.2 影响性能的因素 112
10.1.3 建立性能基线 112
10.1.5 确定用户活动 113
10.2 使用系统监视器进行监视 113
10.1.4 识别瓶颈 113
10.3 正确使用SQL事件探查器 114
10.3.1 使用SQL事件探查器的方案 114
10.3.2 使用SQL事件探查器监控事件分类 115
10.3.3 创建并管理跟踪和模板 116
10.4 使用对象和计数器 119
10.4.1 监视磁盘活动 120
10.4.2 监视CPU的使用 120
10.4.3 监视内存的使用 121
10.5 用SQL Server企业管理器进行监视 121
10.5.1 显示当前服务器的活动内容 121
10.5.3 给当前连接的用户发送消息 122
10.5.2 查看有关对象锁的信息 122
10.5.4 终止进程 123
10.6 监视错误日志 123
10.6.1 查看SQL Server错误日志 123
10.6.2 查看Windows应用程序日志 124
10.7 用SNMP进行监视 124
10.7.1 在SQL Server上启用SNMP支持 124
10.7.2 启用SQL Server MIB 124
第11章 使用Web助手向导 126
11.1 配置Web助手向导 126
11.1.1 设置权限 126
11.1.2 选择要发布的数据库 126
11.2 使用Web助手向导 127
11.1.3 创建查询 127
11.3 在Web站点上查看结果 131
11.4 使用Web助手向导接收查询结果 132
11.5 使用Web助手向导的一个问题 132
第12章 SQL Server安全性与用户管理 134
12.1 SQL Server安全性管理概述 134
12.2 安全认证方式 134
12.2.1 Windows身份验证 135
12.2.2 SQL Server身份验证 136
12.2.3 其他安全认证方式 136
12.3.1 创建和管理Windows用户或组 138
12.3 创建和管理用户帐户 138
12.3.2 创建和管理SQL Server登录用户 140
12.3.3 特定的数据库用户 141
12.3.4 查看用户登录信息 142
12.3.5 修改用户登录信息 142
12.3.6 数据库角色管理 144
12.4 审核SQL Server活动 146
12.4.1 SQL事件探查器 146
12.4.2 审核SQL Server活动 147
12.5.2 对数据库对象进行操作的权限 148
12.5.3 固定角色的权限 148
12.5.1 对Transant-SQL语句可以赋予的权限 148
12.5 权限管理 148
12.5.4 权限和ALTER VIEW 151
12.6 其他安全性管理 152
12.6.1 使用视图作为安全机制 152
12.6.2 使用存储过程作为安全机制 153
12.6.3 使用加密方法 153
12.6.4 在网络上公布SQL Server 154
12.6.5 编写Internet Explorer中数据访问控件的脚本 154
第13章 数据仓库技术 156
13.1 数据仓库概述 156
13.1.1 从数据库到数据仓库 156
13.1.2 数据的仓库化过程 159
13.1.3 数据仓库的体系结构 160
13.1.4 SQL Server 2000数据仓库构件 162
13.2 Microsoft数据仓库框架 166
13.3 OLE DB:信息交换标准 167
13.4 设计和创建数据仓库 169
13.4.1 数据仓库系统设计方法概述 169
13.4.2 使用SQL Server 2000工具进行维度建模 172
13.4.3 SQL Server 2000的事实数据表 173
13.4.4 SQL Server 2000的聚合表 174
13.4.5 SQL Server 2000的维度表 174
13.4.6 使用SQL Server 2000创建数据仓库索引 176
13.5 使用数据仓库 176
13.5.2 OLAP和数据挖掘 177
13.5.1 SQL查询 177
13.5.3 English Query 178
13.5.4 Microsoft Office 2000 178
13.5.5 Web访问和创建报表 179
13.5.6 脱机OLAP多维数据集 179
13.5.7 第三方应用程序 179
13.5.8 自定义应用程序 180
13.6 维护数据仓库 180
13.6.1 更新数据仓库数据 180
13.6.2 管理数据仓库 181
13.6.3 优化数据仓库性能 182
14.1.1 数据库 184
第14章 SQL Server数据库设计与管理 184
14.1 数据库基本概念 184
14.1.2 事务日志 185
14.1.3 文件和文件组 188
14.2 数据库设计 191
14.2.1 SQL Server 2000不再支持段操作 191
14.2.2 规划数据库 192
14.2.3 数据的规范化 193
14.2.4 数据的完整性 194
14.2.5 数据库性能 195
14.3 创建数据库和日志文件 196
14.3.1 数据库创建 196
14.2.6 数据库维护 196
14.3.2 在原始分区上创建数据库 202
14.3.3 设置数据库选项 203
14.3.4 创建数据库的限制 210
14.4 修改数据库 210
14.4.1 改变数据库的大小 212
14.4.2 改变数据库文件的数目 215
14.4.3 文件组管理 216
第15章 SQL Server的表与视图管理技术 218
15.1 表或视图中的数据类型 219
15.1.1 数字数据 219
15.1.4 日期和时间数据 220
15.1.5 Unicode数据 220
15.1.3 二进制数据 220
15.1.2 字符数据 220
15.1.6 货币数据 221
15.1.7 特殊数据 221
15.1.8 用户定义的数据类型 222
15.2 表管理技术 223
15.2.1 选择数据库 223
15.2.2 表的创建 223
15.2.3 表的修改 229
15.2.4 特殊的表——临时表 232
15.3 约束的使用 234
15.3.1 PRIMARY KEY约束 234
15.3.2 UNIQUE约束 236
15.3.3 FOREIGN KEY约束 237
15.3.4 CHECK约束 240
15.3.5 DEFAULT约束 241
15.3.6 使用约束的例子 242
15.4 视图的概念 244
15.5 视图的创建 245
15.5.1 建立视图 245
15.5.2 建立分区视图 248
15.5.3 建立索引视图 251
15.6 视图的应用 254
15.6.1 使用视图检索数据 254
15.6.2 通过视图修改基表数据 255
15.7 修改和删除视图 256
第16章 SQL Server索引管理技术 257
16.1 索引的工作机理 257
16.1.1 数据的存储和访问 257
16.1.2 链接页面的更新 258
16.1.3 决定是否创建索引 259
16.1.4 聚集索引 259
16.1.5 非聚集索引 262
16.2 索引的创建 266
16.2.1 一般索引的创建 266
16.2.2 SET选项的设置 275
16.2.3 索引的增强 278
16.3 查看索引信息 281
16.4 删除索引 283
第17章 SQL Server存储过程管理技术 285
17.1 存储过程概述 285
17.2 创建存储过程 286
17.3 存储过程中参数的使用 290
17.3.1 指定参数的名称 291
17.3.2 指定参数的数据类型 291
17.3.3 指定参数的方向 292
17.4 存储过程编程 293
17.4.1 流控制语句 293
17.3.4 指定参数的默认值 293
17.4.2 定义和使用变量 295
17.4.3 使用附加过程及批语句关键字 296
17.5 调用存储过程 301
17.5.1 使用EXECUTE语句执行存储过程 301
17.5.2 存储过程的自动执行 302
17.6 修改和重新命名存储过程 303
17.7 删除存储过程 305
17.8 系统存储过程 306
17.8.1 管理类系统存储过程 306
17.8.2 辅助类系统存储过程 307
17.8.3 配置类系统存储过程 308
17.9 扩展存储过程 309
17.8.4 监控类系统存储过程 309
第18章 触发器管理技术 311
18.1 触发器的基本概念及用途 311
18.2 创建触发器 312
18.2.1 CREATE TRIGGER语句 312
18.2.2 指定触发器的类型 314
18.2.3 测试表列是否被修改 319
18.2.4 使用企业管理器创建触发器 323
18.3 触发器的使用 324
18.3.1 触发器的限制 324
18.3.2 多行的考虑 325
18.3.3 条件INSERT触发器 327
18.3.4 使用嵌套触发器 328
18.3.5 加强数据约束 331
18.4 修改触发器 332
第19章 SQL Server数据库性能优化 334
19.1 SQL Server性能优化的原则 334
19.2 耗费CPU和磁盘I/O资源的组件 335
19.2.1 工作线程 335
19.2.2 LazyWriter 336
19.2.3 Checkpoint 337
19.2.4 Log Manager 338
19.2.5 Read-Ahead Manager 339
19.3.1 标准的磁盘传输率与SQL Server的关系 340
19.3 磁盘I/O性能 340
19.3.2 连续和不连续的磁盘I/O操作 341
19.3.3 磁盘I/O传输率/RAID控制器传输率/PCI总线带宽 341
19.3.4 RAID 342
19.3.5 磁盘I/O并行 346
19.4 SQL Server索引 348
19.4.1 聚集索引 349
19.4.2 非聚集索引 350
19.4.3 覆盖索引 350
19.4.4 自动覆盖索引或隐蔽查询 351
19.4.5 索引选择 351
19.4.6 聚集索引的选择、连续键数据以及如何查找热点 352
19.4.7 FILLFACTOR和PAD_INDEX的重要性 354
19.5 SQL Server性能优化工具 356
19.5.1 数据和工作负荷示例 356
19.5.2 SQL事件探查器 356
19.5.3 查询分析器 361
19.5.4 性能监视器 364
19.6 其他性能主题 369
19.6.1 减少网络流量和数据库服务器的资源消耗 369
19.6.2 死锁 369
19.6.3 只要有任何可能就应避免的SQL 369
19.6.4 灵巧化标准 370
19.6.5 分区视图 370
19.6.6 复制和备份性能 370
19.6.7 特殊的磁盘I/O调整方案:EMC对称集成高速缓存磁盘队列 370