第1篇 基本管理功能篇
第1章 SQL Server 2005新增功能
1.1 易管理性的增强
1.1.1 单一的管理控制台(SQL Server Management Studio)
1.1.2 SQL管理对象
1.2 可用性的增强
1.2.1 数据库镜像
1.2.2 故障转移群集
1.2.3 快速恢复
1.2.4 专用管理员连接
1.2.5 联机操作(索引操作和还原)
1.2.6 复制
1.3 可伸缩性的增强
1.3.1 表和索引分区
1.3.2 快照隔离
1.3.3 复制监视器
1.3.4 对64位系统Itanium 2和x64的支持
1.4 安全性的增强
1.4.1 授权
1.4.2 身份验证
1.4.3 本机加密
1.5 扩展的语言支持
1.5.1 CLR/.NET Framework集成
1.5.2 Transact-SQL增强
1.6 改进的开发工具
1.6.1 Business Intelligence Development Studio
1.6.2 Visual Studio集成
1.6.3 跨层和跨语言的调试
1.7 扩展性增强
1.7.1 用户自定义类型和聚合
1.7.2 SQL 管理对象
1.7.3 分析管理对象
1.8 数据访问的改进
1.8.1 ADO.NET 2.0
1.8.2 查询通知
1.8.3 MARS
1.8.4 透明的数据镜像的故障转移
1.9 XML和Web Services
1.9.1 XML 支持
1.9.2 XML 数据类型
1.9.3 XQuery
1.9.4 Web Services支持
1.9.5 XML for Analysis Services
1.10 Service Broker
1.11 商业智能
1.11.1 Integration Services
1.11.2 Analysis Services
1.11.3 数据挖掘
1.11.4 Reporting Services
1.11.5 关系型和OLAP报表
1.11.6 报表生成器
第2章 SQL Server 2005安装指南
2.1 SQL Server 2005版本和组件
2.2 软件和硬件的准备工作
2.2.1 SQL Server 2005(32位和64位)软/硬件需求
2.2.2 硬件和软件要求(32位)
2.2.3 64位的硬件和软件要求
2.2.4 安装.NET Framework 2.0
2.2.5 安装SQL Server 2005
2.2.6 设置服务账户
2.2.7 SQL Server 2005身份验证模式
2.2.8 SQL Server 2005语言选项
2.2.9 验证安装正确性
2.3 升级SQL Server 7.0/2000到SQL Server 2005
2.3.1 在现有SQL Server数据库的基础上升级
2.3.2 通过复制数据库向导升级至SQL Server 2005
2.3.3 使用分离和附加来升级数据库
2.4 安装过程中的错排查
第3章 配置SQL Server服务器
3.1 注册和连接服务器
3.1.1 连接服务器
3.1.2 注册服务器
3.1.3 管理服务器组
3.2 管理SQL Server服务
3.2.1 使用控制台管理SQL Server服务
3.2.2 使用Net Start命令控制
3.2.2 SQL Server服务
3.2.3 使用服务管理器控制SQLServer服务
3.3 管理服务器全局属性
3.3.1 常规
3.3.2 内存
3.3.3 处理器
3.3.4 安全性
3.3.5 连接
3.3.6 数据库设置
3.3.7 高级
3.3.8 权限
3.4 SQL Server 2005配置管理工具
3.5 SQL Server 2005查询工具简介
3.5.1 连接SQL Server服务器
3.5.2 执行T-SQL 语句
3.5.3 对象浏览器
3.6 sqlcmd工具使用简介
第4章 管理数据库和表
4.1 SQL Server 2005数据库的系统目录
4.1.1 系统文件目录
4.1.2 数据库实例目录
4.2 管理数据库文件和文件组
4.2.1 管理数据库文件组
4.2.2 创建数据文件
4.2.3 数据文件的增长与收缩
4.3 管理事务日志文件
4.3.1 事务日志的工作机制
4.3.2 收缩事务日志
4.4 创建表
4.4.1 使用SQL Server Management
4.4.1 Studio创建表
4.4.2 表设计器窗体
4.4.3 建立和命名列
4.4.4 指定列的数据类型和为空性
4.4.5 列描述
4.4.6 文件组
4.4.7 保存数据表
4.4.8 使用T-SQL语句创建表
4.5 更改数据表的结构
4.5.1 添加新列
4.5.2 更改列名称
4.5.3 更改列的数据类型及长度
4.5.4 使用标识列
4.5.5 定义主关键字
4.5.6 删除列
4.6 删除表
4.6.1 使用SQL Server Management
4.6.1 Studio删除表
4.6.2 使用T-SQL语句删除表
4.7 临时表
4.8 系统表
4.9 架构
4.9.1 什么是架构
4.9.2 默认架构
4.9.3 用户架构分离的好处
4.9.4 创建架构
4.9.5 设置数据对象的架构
第5章 SQL Server 2005安全性管理
5.1 SQL Server 2005的安全模型
5.1 简介
5.1.1 概述
5.1.2 SQL Server权限层次结构
5.2 SQL Server 服务器访问权限
5.2.1 SQL Server 2005身份验证
5.2.1 模式
5.2.2 创建登录
5.2.3 服务器角色
5.3 数据库访问权限
5.3.1 创建数据库用户
5.3.2 数据库角色
5.3.3 自定义数据库角色
5.3.4 应用程序角色
5.4 数据对象和数据访问权限
5.4.1 固定数据库角色许可权限
5.4.2 数据对象访问许可
5.4.3 预定义的许可权限
5.4.4 权限的授予、拒绝和废除
5.4.5 权限的继承
5.5 管理SQL Server登录账户
5.6 管理数据库用户
第6章 SQL Server 2005数据库备份指南
6.1 数据库备份概述
6.2 备份前的准备工作
6.3 设置数据库恢复模式
6.4 创建备份设备
6.5 执行备份的权限
6.6 数据库备份的时机
6.6.1 何时备份系统数据库
6.6.2 何时备份用户数据库
6.7 备份类型的概述
6.8 完整备份
6.9 差异备份
6.10 日志备份
6.10.1 备份事务日志
6.10.2 清理事务日志
6.11 仅复制备份
6.12 文件/文件组备份
6.13 数据库镜像
6.14 传送事务日志
第7章 SQL Server 2005数据库还原指南
7.1 检查点
7.2 SQL Server崩溃后自启动的恢复进程
7.3 还原数据库前的准备工作
7.4 恢复数据库的方法
7.5 还原完整备份
7.6 还原差异备份
7.7 还原日志备份
7.8 还原文件或文件组备份
7.9 分离和附加数据库
7.9.1 分离数据库
7.9.2 附加数据库
第2篇 高级管理功能篇
第8章 实现自动管理任务
8.1 SQL Server代理服务
8.1.1 SQL Server代理服务概述
8.1.2 自动管理组件
8.2 配置SQL Server代理服务
8.2.1 常规选项
8.2.2 设置SQL Server代理服务账户
8.2.3 设置邮件系统
8.2.4 设置连接
8.3 定义操作员
8.4 创建和执行作业
8.4.1 创建作业
8.4.2 作业控制流
8.4.3 计划的类型
8.4.4 指定作业响应
8.4.5 监视作业活动
8.5 监视事件和响应警报
8.5.1 定义警报
8.5.2 创建用户自定义错误的警报
8.6 查看SQL Server代理错误日志
8.7 管理数据库邮件
第9章 数据传输指南
9.1 概述
9.1.1 数据传输的概述
9.1.2 数据传输工具一览
9.2 SQL Server数据导入和导出向导
9.2.1 SQL Server数据导入和导出向导
9.2.2 连接数据源
9.2.3 设定转换模式
9.2.4 保存和调度SSIS包
9.3 使用bcp命令大容量复制数据
9.3.1 将表行复制到数据文件
9.3.2 从查询复制到文本文件
9.3.3 创建非XML格式文件
9.3.4 创建XML格式文件
9.3.5 将文本数据导入到表中
9.4 T-SQL语句大容量导入导出
9.4 数据
9.4.1 BULK INSERT语句
9.4.2 SELECT…INTO语句
9.4.3 INSERT…SELECT语句
9.4.4 OPENROWSET语句
9.5 分离和附加数据
9.5.1 分离数据库
9.5.2 附加数据库
第10章 SQL Server 2005复制技术
10.1 复制的基本概念
10.2 复制发布模型概述
10.2.1 服务器角色
10.2.2 复制模型基本拓扑图
10.2.3 复制代理程序
10.2.4 复制的类型
10.2.5 订阅
10.3 配置复制
10.3.1 复制前的考虑
10.3.2 创建发布
10.3.3 订阅
10.4 管理复制
10.4.1 从Management Studio监视复制代理
10.4.2 使用复制监视器监控复制
10.4.3 提高常规复制的性能
10.4.4 停止复制
第11章 监控SQL Server性能与活动
11.1 影响性能的因素
11.1.1 系统级因素
11.1.2 数据库因素
11.1.3 客户端因素
11.2 SQL Server 性能监视工具一览
11.3 性能监控基本步骤
11.3.1 识别瓶颈
11.3.2 监控级别
11.3.3 建立性能基线
11.3.4 确认用户活动
11.3.5 隔离性能问题
11.4 查看Windows应用程序日志
11.5 使用Windows系统监视器
11.5.1 系统监视器简介
11.5.2 监控处理器性能
11.5.3 监控Windows内存使用情况
11.5.4 监控SQL Server内存使用情况
11.5.5 监控磁盘的使用情况
11.5.6 使用系统监视器
11.6 使用SQL Server Management 226
11.6.1 SQL Server活动监视器
11.6.2 SQL Server日志
11.7 使用SQL Server Profiler
11.7.1 定义跟踪
11.7.2 设置事件
11.7.3 设置数据列
11.7.4 设置筛选信息
11.7.5 保存跟踪模版
11.7.6 保存跟踪的结果
11.7.7 重播跟踪事件
11.7.8 常用跟踪事件举例
11.8 查看执行计划
11.8.1 获得执行计划的信息
11.8.2 SET SHOWPLAN_TEXT ON
11.8.3 SET STATISTICS TIME ON
11.8.4 SET STATISTICS IO ON
11.9 使用T-SQL语句
11.9.1 DBCC语句
11.9.2 全局函数
11.9.3 系统存储过程
第3篇 基本开发知识篇
第12章 基础Transact-SQL语言
12.1 数据定义语言(DDL)
12.1.1 Create Database语句
12.1.2 Alter Database语句
12.1.3 Drop Database语句
12.1.4 Create Table语句
12.1.5 Alter Table语句
12.1.6 Drop Table语句
12.2 使用SELECT语句查询数据
12.2.1 SELECT子句
12.2.2 FROM子句
12.2.3 WHERE子句
12.2.4 GROUP BY子句
12.2.5 HAVING子句
12.2.6 ORDER BY子句
12.2.7 其他关键字
12.3 使用INSERT向表中插入数据
12.3.1 使用Insert语句
12.3.2 使用Insert…Select语句
12.3.3 使用Select … Into语句
12.4 使用UPDATE修改表中的数据
12.4.1 更新基于表的数据
12.4.2 基于其他表更新数据行
12.4.3 使用子查询更新指定的行
12.5 使用DELETE删除表中的数据
12.6 大对象数据的访问控制
12.7 SQL Server对XML的支持
12.7.1 使用RAW模式
12.7.2 使用AUTO模式
12.7.3 使用EXPLICIT模式
12.8 T-SQL中数据库对象的引用
12.8.1 完全限定
12.8.2 部分限定
12.9 SET语句
12.9.1 SET DATEFIRST语句
12.9.2 SET DATEFORMAT语句
12.9.3 SET CONCAT_NULL_ YIELDS_NULL语句
12.9.4 SET IDENTITY_INSERT语句
12.9.5 SET LANGUAGE语句
12.9.6 SET FMTONLY语句
12.9.7 SET NOCOUNT语句
12.9.8 SET NOEXEC语句
12.9.9 SET PARSEONLY语句
12.9.10 SET ROWCOUNT语句
12.9.11 SET SHOWPLAN_ALL语句
12.9.12 SET STATISTICS IO语句
12.9.13 SET STATISTICS XML
12.9.13 语句
12.10 综合应用
第13章 Transact-SQL高级应用
13.1 使用系统内建函数
13.1.1 日期和时间函数
13.1.2 聚合函数
13.1.3 字符串函数
13.1.4 系统统计函数
13.1.5 数学函数
13.1.6 系统函数
13.2 子查询
13.2.1 使用子查询查询数据
13.2.2 子查询的限制
13.3 联合查询
13.3.1 使用UNION创建联合查询
13.3.2 联合查询的关键字ALL
13.3.3 使用INNER JOIN
13.3.4 使用LEFT JOIN和RIGHT JOIN建立连接
13.3.5 使用交叉连接(CROSS JOIN)
13.4 其他复杂应用
13.4.1 使用Compute(By)子句
13.4.2 交叉表查询
13.5 查询语句的性能优化
13.5.1 通配符%的使用
13.5.2 ORDER BY语句
13.5.3 尽量不用NOT
13.5.4 尽量不要连接列
13.5.5 表连接需要注意的事项
13.6 综合应用
第14章 规划和管理索引
14.1 概述
14.1.1 数据的存储和访问方式
14.1.2 SQL Server查询优化器
14.1.3 获得执行计划的信息
14.2 索引的类型
14.2.1 聚集索引
14.2.2 非聚集索引
14.3 使用索引的准则
14.3.1 创建索引的列
14.3.2 不建索引的列
14.3.3 如何使用聚集索引
14.3.4 如何使用非聚集索引
14.4 创建和管理索引
14.4.1 创建索引
14.4.2 组合索引
14.4.3 唯一索引
14.4.4 主键索引
14.4.5 填充因子
14.4.6 管理索引
14.5 维护索引
14.5.1 维护索引的统计信息
14.5.2 数据碎片
14.5.3 重建和整理索引
第15章 管理和使用视图
15.1 视图的用途和需要
15.1.1 视图简介
15.1.2 视图的优点
15.1.3 视图的分类
15.2 创建和管理视图
15.2.1 定义视图
15.2.2 修改视图定义
15.2.3 删除视图
15.3 利用视图简化查询操作
15.3.1 查询视图
15.3.2 使用视图关联多张表
15.3.3 使用视图提供聚合值
15.4 更新视图中的数据
15.5 加密视图
15.6 利用视图加强数据安全
15.6.1 限制用户的视线
15.6.2 视图权限管理
15.6.3 调用链问题初探
15.7 使用索引视图
15.7.1 索引视图的优点
15.7.2 设计索引视图的指导原则
15.7.3 创建索引视图
15.7.4 索引视图的应用
15.8 使用分区视图
15.9 视图的综合应用
第16章 创建和使用存储过程
16.1 SQL Server编程逻辑
16.1.1 Transact-SQL编程基础
16.1.2 流程控制语句
16.1.3 游标的使用
16.2 存储过程的创建与管理
16.2.1 为何使用存储过程
16.2.2 使用系统存储过程管理
16.2.2 SQL Server
16.2.3 使用扩展存储过程
16.2.4 定义存储过程
16.2.5 带参数的存储过程
16.2.6 存储过程的加密
16.2.7 修改和删除存储过程
16.2.8 存储过程中的错误处理
16.2.9 在存储过程中调用COM
16.2.9 组件
16.3 使用CLR存储过程
16.3.1 CLR集成的优点
16.3.2 Microsoft.SqlServer.Server命名空间
16.3.3 创建CLR存储过程
16.3.4 删除CLR存储过程
16.4 综合实例
第17章 创建和使用触发器
17.1 触发器的创建与管理
17.1.1 为何使用触发器
17.1.2 创建触发器
17.1.3 修改和删除触发器
17.1.4 用触发器实现强制业务规则
17.1.5 使用触发器和存储过程
17.1.5 必须注意的事项
17.2 使用CLR触发器
17.2.1 SqlTriggerContext类
17.2.2 创建CLR触发器
第18章 创建用户定义数据类型与函数
18.1 用户定义数据类型简介
18.1.1 为何使用用户定义数据类型
18.1.2 用户定义数据类型的特点
18.2 创建用户定义数据类型
18.3 删除用户定义数据类型
18.4 更改用户定义数据类型
18.5 使用数据类型
18.6 基于CLR创建用户定义类型
18.7 用户定义函数简介
18.7.1 为何使用用户定义函数
18.7.2 用户定义函数的特点
18.8 创建用户定义函数
18.8.1 用户定义函数设计原则
18.8.2 标量函数
18.8.3 内联表值函数
18.8.4 多语句表值函数
18.9 修改和删除用户定义函数
18.10 用户定义函数的限制
第4篇 高级开发知识篇
第19章 维护数据完整性
19.1 数据完整性概述
19.1.1 实体完整性
19.1.2 域完整性
19.1.3 引用完整性
19.1.4 用户定义完整性
19.2 利用约束维护数据的完整性
19.2.1 DEFAULT约束
19.2.2 CHECK约束
19.2.3 UNIQUE约束
19.2.4 PRIMARY KEY约束
19.2.5 FOREIGN KEY约束
19.2.6 级联引用完整性约束
19.3 利用规则维护数据的完整性
19.3.1 DEFAULT对象
19.3.2 RULES对象
19.4 标识列Identity
19.5 使用触发器和存储过程实现数据完整性
19.6 关于数据完整性的一些使用经验
第20章 SQL Server 2005事务处理机制
20.1 事务的概念
20.1.1 事务的概念
20.1.2 事务的特性
20.1.3 事务的状态
20.2 事务管理机制
20.2.1 事务的类型
20.2.2 定义事务
20.2.3 隐式事务
20.3 事务故障恢复和并发控制
20.3.1 事务与日志的联系
20.3.2 事务故障的恢复
20.3.3 事务隔离级别
20.4 使用事务时的考虑
20.5 事务的高级应用
20.5.1 事务保存点
20.5.2 嵌套事务
20.5.3 分布事务
第21章 SQL Server 2005并发控制机制
21.1 并发访问异常
21.1.1 丢失更新
21.1.2 脏数据
21.1.3 不可重复读取
21.1.4 幻读
21.2 锁
21.2.1 基本锁
21.2.2 专用锁
21.2.3 锁的相容性
21.2.4 封锁协议
21.2.5 锁的粒度
21.3 锁的使用
21.3.1 设置事务隔离级
21.3.2 事务隔离级与锁的关系
21.3.3 设置表级锁
21.3.4 锁的时间长度
21.3.5 设置锁定超时选项
21.3.6 监视和管理锁
21.4 死锁的预防和处理
21.4.1 死锁的概念
21.4.2 预防死锁
21.4.3 解除死锁
第22章 SQL Server 2005全文搜索
22.1 SQL Server全文搜索简介
22.2 全文搜索的工作方式
22.3 创建和管理全文索引
22.3.1 启用全文搜索
22.3.2 创建全文索引和全文目录
22.3.3 使用全文索引向导
22.3.4 管理全文索引
22.3.5 备份和还原全文目录
22.3.6 还原全文目录
22.4 使用全文查询
22.4.1 FREETEXT谓词
22.4.2 CONTAINS谓词
22.4.3 CONTAINSTABLE和FREETEXTTABLE谓词
第23章 SQL Server 2005数据库编程接口
23.1 纵览SQL Server编程API
23.1.1 使用ODBC访问SQL Server
23.1.2 使用ADO访问SQL Server
23.1.3 使用ADO.NET访问SQL Server
23.1.4 使用OLE DB访问SQL Server
23.1.5 使用JDBC访问SQL Server
23.2 SQL Server ADO编程接口与应用
23.2.1 ADO简介
23.2.2 Connection对象
23.2.3 RecordSet对象
23.2.4 Command对象
23.2.5 Parameter对象
23.2.6 Error对象
23.2.7 Field对象
23.2.8 Property对象
23.2.9 ADO中的事务管理
23.2.10 ADO综合应用例程
23.3 ADO.NET编程接口
23.3.1 ADO.NET简介
23.3.2 Connection对象
23.3.3 Command对象
23.3.4 DataSet对象
23.3.5 DataAdapter对象
23.3.6 在ADO.NET中使用事务
23.3.7 ADO.NET综合应用实例
23.4 SQL Server Java编程接口
23.4.1 JDBC编程概述
23.4.2 JDBC的对象模型
23.4.3 JDBC综合应用例程
第24章 SQL Server 2005应用程序高级设计
24.1 在Internet上访问SQL Server
24.1.1 生成静态Web页面
24.1.2 用ASP发布动态页面数据
24.1.3 用ASP.NET发布动态页面数据
24.2 SQL Server报表服务
24.2.1 报表服务概述
24.2.2 报表服务组件概述
24.2.3 报表服务实例
24.3 Service Broker异步编程
24.3 模型
24.3.1 Service Broker简介
24.3.2 Service Broker体系结构
24.3.3 Service Broker应用程序实例
24.4 嵌入式的SQL程序设计
24.4.1 嵌入式SQL语言概述
24.4.2 在C语言中使用嵌入式SQL
24.5 SQL Server编程注意事项
24.5.1 基于数据库的需求分析
24.5.2 设计中对数据库的考虑
24.5.3 开发过程中数据库性能的优化
24.5.4 应用程序安全问题
24.5.5 测试与实施中的注意事项
附录A SQL Server 2005常用系统存储过程
附录B 如何使用SQL Server 2005联机丛书
展开