第1章 将Spy Net从想法转变为SQL Server数据库 1
1.1 Spy Net Limited案例研究 2
1.1.1 SQL Spy Net应用程序总体概述 2
1.1.2 确定应用程序开发内容 3
1.1.3 要实现哪些功能? 4
1.2 建立SQL Spy Net应用程序模型 4
1.2.1 设计Spy Net表 4
1.2.2 使用关系理论建立Spy Net应用程序模型 5
1.2.3 建立关系 9
1.3 Spy Net总体介绍 12
1.4 小结 13
1.5 下一步 13
第2章 SQL Server2000实例管理工具 15
2.1 使用企业管理器研究数据库对象 16
2.1.1 为什么要用企业管理器 17
2.1.2 怎样配合SQL Spy Net应用程序开发 17
2.2 了解查询分析器 18
2.2.1 使用查询分析器能够完成哪些工作 20
2.2.2 在SQL Spy Net应用程序中使用这一工具 20
2.3 用事件探查器跟踪代码错误 21
2.3.1 什么时候使用事件探查器 21
2.3.2 探查和SQL Spy Net应用程序 22
2.4 导入和导出数据 22
2.4.1 为什么要使用DTS 23
2.4.2 用DTS产生SQL Spy Net数据 24
2.5 学习SQL Server2000其他工具 24
2.6 小结 25
2.7 下一步 25
第3章 建立虚拟侦探—在SQL Server2000中创建Spy Net 27
3.1 担当Spy Net项目主管(Sys Admin) 28
3.1.1 设置sa口令 28
3.1.2 配置model数据库以满足SQL Spy Net应用程序需要 30
3.2 创建SQL Spy Net应用程序数据库 38
3.3 用数据定义语言(DDL)创建数据库和对象 42
3.3.1 为侦探构造表 44
3.3.2 再次分析SQL Spy Net应用程序 45
3.4 将数据模型和数据库结合起来 47
3.4.1 开发SQL Spy Net应用程序的第一个数据库表 48
3.4.2 用代码创建表 59
3.4.3 填充数据 66
3.5 小结 70
3.6 下一步 70
第4章 用Transact-SQL处理数据 71
4.1 SELECT语句 72
4.1.1 SELECT的第一个构造块 73
4.1.2 数据来自哪里 73
4.1.3 用WHERE限制返回的数据 75
4.1.4 对这些侦探排序 77
4.2 用INSERT语句插入数据 78
4.2.1 定义所插入的表和列 78
4.2.2 插入一些新数据 79
4.3 更新数据 81
4.3.1 修改哪个表 81
4.3.2 改正数据中存在的问题 82
4.3.3 修改哪些数值 82
4.4 删除数据 83
4.5 DML和DDL之外的Transact-SQL语句 84
4.5.1 声明变量 85
4.5.2 用SET语句为变量赋值 85
4.5.3 IF测试 86
4.5.4 WHILE循环 88
4.6 小结 90
4.7 下一步 91
第5章 查看和修改数据 93
5.1 添加侦探信息 94
5.2 视图 95
5.2.1 视图简介 95
5.2.2 连接 98
5.2.3 视图和表的比较 100
5.2.4 视图限制 100
5.3 存储过程 101
5.3.1 创建存储过程 102
5.3.2 检查被填充表 104
5.3.3 执行存储过程 105
5.3.4 创建向Person和Bad Guy表插入数据的存储过程 106
5.3.5 检查和填充NULL值 106
5.3.6 存储过程使用指导 108
5.4 触发器 108
5.4.1 创建触发器 109
5.4.2 测试触发器 111
5.4.3 在Spy表上设置触发器 112
5.5 删除对象 113
5.6 游标 114
5.8 下一步 115
5.7 小结 115
第6章 函数 117
6.1 函数的作用 118
6.2 使用内置函数 119
6.2.1 CONVERT函数 119
6.2.2 COUNT函数 122
6.2.3 SUM函数 123
6.2.4 STUFF函数 125
6.3.1 日期转换 126
6.3 创建用户函数 126
6.3.2 执行用户定义函数 127
6.4 构造函数库 128
6.4.1 标量函数 128
6.4.2 聚合函数和行集函数 129
6.5 小结 129
6.6 下一步 129
第7章 规则和默认 131
7.2.1 检查未成年侦探 132
7.1 概述 132
7.2 建立数据规则 132
7.2.2 绑定和测试规则 133
7.3 设置默认值 135
7.3.1 为用户输入默认数据 135
7.3.2 测试默认 136
7.4 添加用户定义数据类型 138
7.4.1 验证电话号码 138
7.4.2 使用数据类型 141
7.5 小结 143
7.6 下一步 143
第8章 用事务、锁和错误捕获保证数据一致性 145
8.1 用事务封装保持数据一致性 146
8.1.1 使事务通过ACID测试 147
8.1.2 选择事务类型 148
8.1.3 为Spy Net创建事务 149
8.2 用锁维护数据完整性 151
8.1.4 设计事务注意事项 151
8.2.1 SQL Server2000怎样自动锁定 152
8.2.2 锁设计策略 153
8.2.3 锁注意事项 156
8.3 错误处理 156
8.3.1 SQL Server2000中错误由什么组成 157
8.3.2 捕获错误 158
8.3.3 错误处理 158
8.3.4 修改存储过程以捕获错误 159
8.4 小结 161
8.5 下一步 161
第9章 Spy Net安全管理 163
9.1 与其他用户共享Spy Net 164
9.1.1 为Spy Net创建登录 165
9.1.2 以SQL Spy Net User登录以测试权限 167
9.2 赋予用户角色 168
9.2.1 赋予SQL Server实例角色 169
9.2.2 创建角色模型 170
9.2.3 行使权限 176
9.3 审核 177
9.3.1 SQL Server2000基本审核 178
9.3.2 C2审核 178
9.4 建立安全策略注意事项 179
9.5 小结 179
9.6 下一步 180
第10章 保证数据可用性 181
10.1 制定数据库备份策略 182
10.1.1 怎样防止丢失数据 183
10.1.2 在备份和恢复时使用事务日志 183
10.1.3 选择合适的恢复模型 184
10.1.4 查找(合适的)备份时间 185
10.1.5 备份到哪里 186
10.1.6 备份什么内容 186
10.1.7 用企业管理器备份Spy Net 187
10.1.8 在查询分析器中用Transact-SQL备份Spy Net 190
10.2 恢复Spy Net 191
10.2.1 怎样完全恢复 191
10.2.2 应用事务日志 192
10.2.3 用企业管理器恢复Spy Net 193
10.2.4 在查询分析器中用Transact-SQL恢复Spy Net 195
10.3 确定方案 196
10.3.1 理解复制 196
10.3.2 标识事务日志 196
10.3.3 创建热服务器 197
10.3.4 创建资源和操作清单 197
10.3.5 建立和遵守恢复计划 197
10.4 小结 197
10.5 下一步 198
第11章 管理Spy Net 199
11.1 配置SQL Server2000 200
11.2 执行常规管理任务 201
11.2.1 调度任务 202
11.2.2 访问SQL Server操作员 207
11.2.3 使用警报 209
11.2.4 SQL Server日志简介 210
11.3 运行一致性检查 211
11.4 建立保持数据库一致性和可用性的维护计划 212
11.5 标识索引 219
11.5.1 索引工作机制 219
11.5.2 何时使用索引 220
11.5.3 在Person表上创建索引以提高查询性能 220
11.5.4 维护索引以保持应用程序高效运行 223
11.6 性能监测 224
11.7 小结 226
11.8 下一步 226
第12章 设计SQL Spy Net数据库前端应用程序 227
12.1 理解基本的客户/服务器结构以执行Spy Net应用程序 228
12.1.1 什么是胖客户 229
12.1.2 为什么使用瘦客户 230
12.1.3 哪种配置最好 231
12.2 为应用程序选择前端开发环境 231
12.2.1 Microsoft Visual Basic(VB) 231
12.2.2 Microsoft Access 232
12.2.3 Microsoft Active Server Pages(ASP) 233
12.3 建立到SQL Spy Net数据库的连接 235
12.3.1 使用行之有效的ODBC方法(MSDASQL) 235
12.3.2 使用新开发的SQL Server OLE DB提供者(SQLOLEDB) 235
12.4 构造Spy Net用户界面 235
12.4.1 确定Spy Net Web页面 236
12.4.2 配置机器以运行Spy Net应用程序 236
12.4.3 配置运行在PWS下的Web站点 237
12.4.4 创建一个新用户以建立连接 238
12.4.5 创建第一个页面:Global.asa 238
12.4.6 创建default.htm页面 239
12.4.7 构造包含页面 240
12.4.8 验证用户登录 242
12.4.9 用Welcome.asp页面问候用户 248
12.4.10 创建Search.asp页面从Spy Net检索数据 253
12.5 监测速度和一致性 266
12.6 Spy Net站点冲浪 266
12.7 小结 268
12.8 下一步 268
第13章 将所有片段组合起来 269
13.1 用DTS向导为SQL Spy Net添加数据 270
13.2 在传输数据之前备份数据库 271
13.3 创建存储过程以清理数据 271
13.3.1 用企业管理器创建存储过程 271
13.3.2 拒绝访问删除功能 274
13.3.3 运行存储过程 274
13.4 用DTS向导重新装载SQL Spy Net数据库数据 274
13.5 检查导入结果 281
13.7 小结 283
13.6 应用程序功能扩展 283
13.8 下一步 284
第14章 SQL Server2000故障扫除和调试 285
14.1 用SQL事件探查器查找错误 286
14.1.1 建立跟踪 286
14.1.2 监视用户 290
14.2 用客户端网络实用工具解决连接问题 291
14.3 调试存储过程 292
14.4.1 内存怎样影响数据库事务 293
14.4 其他管理问题 293
14.4.2 缩小数据文件以减小数据库 294
14.4.3 改变事务日志文件长度 295
14.4.4 截短事务日志 296
14.4.5 故障恢复群集 296
14.5 小结 297
14.6 下一步 297
第15章 研究SQL Server2000 299
15.1.1 联机丛书搜索和检索提示 300
15.1 用联机资源研究SQL Server2000 300
15.1.2 在Web上查找帮助 302
15.2 多实例、排序规则和同步多个数据库 302
15.2.1 在一台机器上运行多个实例 302
15.2.2 使用多种排序规则 304
15.2.3 使用复制同步多个数据库应用程序 304
15.3 用增强功能改进开发工作 304
15.3.1 使用级联声明参照完整性(级联DRI) 305
15.3.2 使用用户定义函数 305
15.3.3 在代码中使用三种新的数据类型 306
15.3.4 进一步了解查询分析器 306
15.3.5 建立数据库对象脚本程序 308
15.3.6 使用AFTER和INSTEAD OF触发器 309
15.3.7 分布式视图 310
15.3.8 创建增强索引 310
15.3.9 XML支持 310
15.4.1 优化索引 312
15.4 使用SQL Server2000中的新向导 312
15.4.2 复制数据库 313
15.5 提高安全性 314
15.5.1 理解Kerberos和安全委托 314
15.5.2 在数据库备份中使用密码安全保护 314
15.5.3 使用C2审核 314
15.6 小结 315
附录A 配置Web服务器 317
附录B 安装和配置SQL Server2000 323
B.1 选择安装类型 324
B.2 按照安装向导逐步安装应用程序 326
B.3 选择自定义安装情况会怎样 333
B.4 检查安装是否成功 337
B.5 配置SQL Server2000 339
B.5.1 第一次连接SQL Server2000 340
B.5.2 使用向导连接SQL Server2000 344
B.5.3 这些怎样工作 346