译者序 1
前言 1
第一部分 Sybase SQL Server 1
第1章 SQL Server结构的外观 1
1.1 客户/服务器体系结构 2
1.2 关系数据库管理系统 3
1.3 数据库 7
1.4 表 8
1.4.3 工作表 9
1.4.2 视图(命名的、派生的虚拟表) 9
1.4.1 基表 9
1.4.4 临时表 10
1.5 行 10
1.5.1 键 10
1.5.2 标识列 11
1.6 列 11
1.6.1 域 12
1.6.2 数据类型 12
1.6.4 NULL 14
1.6.3 缺省 14
1.7 索引 15
1.7.1 聚簇索引 16
1.7.2 非聚簇索引 16
1.7.3 堆表 17
1.8 模式 17
1.9 练习 17
第2章 SQL Server进程的外观 18
2.1 数据保护 18
2.2.2 触发器 19
2.2 完整性功能 19
2.2.1 规则 19
2.2.3 约束 20
2.2.4 存储过程 21
2.3 事务 23
2.4 锁定 24
2.4.1 恢复 29
2.4.2 时间邮戳 29
2.4.3 事务日志 30
2.5 DBCC 31
2.6 备份和装载数据库 32
2.6.1 转储数据库 33
2.6.2 转储事务 33
2.6.3 装载数据库 34
2.6.4 装载事务日志 34
2.6.5 SQL Server 10到SQL Server 11的转储兼容性 35
2.7 安全性 35
2.7.2 数据库的用户 36
2.7.3 别名 36
2.7.1 SQL Server的登录帐户 36
2.7.4 组 37
2.7.5 角色 37
2.7.6 与存取有关的命令 37
2.7.7 对象权限 38
2.7.8 审计数据库 39
2.8 Transact-SQL语言 39
2.9 SQL Server实用程序 43
2.10 SQL Server的限制 44
2.11 练习 44
3.1 术语 46
第3章 SQL Server结构的内析 46
3.2 设备类型和特性 47
3.3 设备性能 48
3.4 SQL Server设备 51
3.5 配置磁盘设备 52
3.5.1 在UNIX平台采用原始分区取代文件系统 53
3.5.2 避免柱面0 54
3.5.3 避免分区重叠 54
3.6 磁盘镜像 54
3.7 系统数据库 55
3.8 用户数据库 57
3.9 数据库对象 58
3.10 段 59
3.11 分割 61
3.12 分配单元 63
3.13 盘区 64
3.14 页面 64
3.14.1 页面类型 64
3.14.2 页面编号机制 66
3.15 行 67
3.16 练习 68
第4章 SQL Server处理机制的内析 69
4.1 SQL Server文件 69
4.2 CPU使用 70
4.3 内存的使用 72
4.3.1 过程缓存 72
4.3.2 数据缓存 73
4.3.3 I/O内存池(缓冲池) 76
4.3.4 内部管理 78
4.4 网络的使用 79
4.5 国际化 82
4.5.1 字符集 82
4.5.2 语言 84
4.5.3 排序次序 84
4.6 练习 85
第5章 Sybase SQL Server系统目录 86
5.1 服务器管理表 86
5.2 对象管理表 95
5.3 安全管理和用户管理表 101
5.4 直接更新系统表 106
5.5 位图式存储的状态值 107
5.6 练习 108
第6章 SQL Server系统范围的设置 109
6.1 配置块 109
6.2 sp-configure命令 110
6.3 服务器管理配置值 114
6.4 对象和数据管理配置值 122
6.6 连接管理和进程管理配置值 125
6.5 语言和地域配置值 125
6.7 安全管理配置值 130
6.8 练习 131
第7章 数据库和用户环境配置 132
7.1 数据库选项 132
7.2 用户环境配置 136
7.3 练习 141
第8章 性能分析及调优 142
8.1 SQL Server的性能因素 143
8.2.1 性能调优的步骤 145
8.2 设置性能目标和测量结果 145
8.2.2 确定关键事务或操作 146
8.2.3 确定CPU、内存和网络的容量 146
8.2.4 性能测量 148
8.2.5 基准 148
8.3 理解SQL Server的查询处理 149
8.4 优化索引 152
8.4.2 采用唯一索引 153
8.4.1 更新统计 153
8.4.3 选择索引键 154
8.4.4 利用聚族索引 154
8.4.5 利用覆盖索引 154
8.4.6 确定索引的最佳数目 155
8.4.7 位索引 155
8.5 优化查询 155
8.5.1 LIKE 156
8.5.2 关系操作符和BETWEEN 156
8.5.3 NOT EXISTS和NOT IN 156
8.5.5 子查询 157
8.5.4 IN和AND 157
8.5.6 数据类型的不匹配 158
8.5.7 连接 159
8.5.8 函数和局部变量 159
8.5.9 表达式 159
8.5.10 聚集函数 159
8.5.11 查询提示 160
8.6 优化存储过程 161
8.6.1 缓存中的多份拷贝 161
8.6.2 重解析和重编译 162
8.7.1 SQL Server优先级 163
8.7.2 CPU的亲和性 163
8.6.3 参数和变量 163
8.7 优化操作环境 163
8.6.4 临时表 163
8.7.3 跟踪标记5101和5102 164
8.7.4 减少网络流量 164
8.7.5 网络配置 164
8.8 优化设计 165
8.8.1 应用设计 165
8.8.2 表的设计 166
8.8.3 In-place更新 167
8.8.4 游标 168
8.9 锁定的最小化 169
SOL Server性能有关的命令 170
第9章 企业数据策略 174
9.1 确定存储管理策略 174
9.1.1 数据的角色和数据的价值 174
9.1.2 信息到信息系统的匹配 175
9.1.3 估算SOL Server的存储需求 176
9.1.4 通过维护指向文档的指针来取代文档的拷贝 179
9.1.5 完全集成的神话 180
9.1.6 归档 181
9.2 系统移植 181
9.3 数据转换 183
9.4 数据复制 184
9.4.1 复制方法 184
9.4.2 复制拓扑图 185
9.5 数据仓库 187
9.6 决策支持系统和联机分析处理 189
9.7 分布的、互操作的系统 192
9.8 标准策略 197
9.9 机构系统之外的问题 199
9.10 练习 200
第10章 预防和解决问题 201
10.1 备份和恢复 201
10.1.1 方法 203
10.1.2 计划和步骤 203
10.1.3 备用环境 205
10.1.4 保护MASTER数据库 207
10.1.5 管理事务日志 207
10.1.6 阈值 208
10.1.7 Sybase的磁盘镜像 210
10.1.8 DBCC 210
10.1.9 从数据破坏中恢复 212
10.2 提高可维护性 213
10.2.1 监控和消除故障的原因 215
10.2.2 建立多份SQL Server的环境 215
10.2.3 有关停机的交互 216
10.3 自动登录 216
10.4 管理连接 218
10.5 提高安全性 220
10.6 升级SQL Server 222
10.7 发现并修正故障 224
10.8 SQL Server的错误日志 227
10.9 练习 229
第二部分 系统管理 231
第11章 确定系统目标 231
11.1 信息系统 231
11.3 系统构想 232
11.2 系统管理员的任务 232
11.4 企业目标 234
11.4.1 利润率 235
11.4.2 市场和竞争 236
11.4.3 全球性 236
11.4.4 管理运作的复杂性 238
11.4.5 生成效率 239
11.5 技术推动目标 240
11.5.1 管理加速生产周期 240
11.5.2 适当的规模 241
11.5.4 遵循标准 243
11.5.3 可扩展性 243
11.5.5 管理支持的复杂性 244
11.5.6 消除瓶颈 244
11.6 个人目标 245
11.6.1 做正确的事情 245
11.6.2 事业的进取 245
11.6.3 危机的避免 246
11.7 适于机构的正确系统 246
11.7.1 信息和机构类型 247
11.7.3 选择目标和目的 248
11.7.2 系统驱动的机构改变 248
11.8 练习 249
第12章 完成适当的项目 250
12.1 选择改变的对象 250
12.1.1 项目设想 250
12.1.2 权衡成本和效益 251
12.1.3 效率与生产率 251
12.1.4 管理改变的范围 253
12.2.3 不要试图对不能描述的事情进行编程 254
12.2.2 坚持观点 254
12.2.1 改进并不总是必要的 254
12.2 选择不必改变的成分 254
12.2.4 不要为避免对抗而改变一个系统 255
12.2.5 努力用一种方法解决所有的问题 255
12.2.6 避免因某个人的喜好去改变系统 256
12.2.7 在没有业务需要的支持时避免使用新技术 256
12.3 选择何时实现改变 256
12.3.3 个人的时间选择 257
12.4 启动项目 257
12.3.2 用户的时间选择 257
12.3.1 机构的时间选择 257
12.4.1 项目文档的角色 258
12.4.2 建议 260
12.4.3 获得赞成和支持 261
12.4.4 文档需求 262
12.5 设计 265
12.5.1 根据需求进行设计 265
12.5.2 以人为中心的软件 265
12.5.3 在设计中考虑最终用户 266
12.5.4 设计直觉的界面 268
12.5.5 设计质量 269
12.5.6 设计的灵活性 270
12.5.7 鼓励创新的解决方案 270
12.6 确认和验证 271
12.6.1 建立原型 271
12.6.2 可行性研究 272
12.6.3 复审和测试 273
12.7 实现 274
12.7.1 建立一个项目计划 274
12.7.2 在自己做和买之间作决定 275
12.7.3 决定是否使用顾问 276
12.7.4 建立度量 277
12.7.5 设计培训计划 277
12.7.6 转换支持 279
12.8 技术支持 280
12.8.1 “询问专家”讨论班 280
12.8.2 技术支持热线 280
12.8.3 帮助工作台 280
12.8.7 书籍、杂志、光盘和WWW 281
12.8.6 用户群组和会议 281
12.8.5 内部帮助文档 281
12.8.4 在线论坛 281
12.8.8 外部购买支持 282
12.9 就这么办 282
12.10 练习 282
第13章 项目领导艺术 284
13.1 领导能力、管理和协调 284
13.2 选择一个项目领导 285
13.3 交流 286
13.4 小组的组建 287
13.5 动机 289
13.6 成功的会议 290
13.7 时间管理 291
13.8 时间管理课程速成 292
13.9 防止延迟及从延迟中恢复 293
13.10 管理期望值 295
13.11 管理对变化的抵制 295
13.12 交流 296
第14章 确定系统成分的成本、效益和功能 298
14.1 成本/效益分析技巧 299
14.1.1 新系统的预期寿命 300
14.1.2 分析随时间变化的成本 301
14.1.3 使用价格分析法 302
14.1.4 分析趋向 304
14.1.5 估算软性成本和硬性成本 304
14.1.6 发现隐藏的成本 304
14.1.7 软性收益和硬性收益 305
14.1.9 度量收益 306
14.1.8 隐藏的收益 306
14.2 评价现有系统和未来系统的要素 307
14.2.1 计算机硬件 309
14.2.2 计算机软件 311
14.2.3 网络与电子通讯 313
14.2.4 人员 316
14.2.5 操作费用 319
14.2.6 转变开销 321
14.3 练习 322
附录 Sybase产品和服务概述 324