
| 赵松涛,海军少校,北京大学计算机专业硕士。高校教学5年,从事计算机网络和数据库系统管理、应用开发6年。目前在一线从事SQL Server和Oracle数据库的系统管理、应用开发,并为大型企业和高校做培训,广受学员好评。从2001年至今,先后独立和合作出版了6本数据库方面的图书。. 对数据库的体系结构,日志的结构和作用,以及数据库的备份和恢复机制等有较深入的理解。... .. << 查看详细 |
| 第1章 初学sql server 2005的问题1 1.1 sql server 2005概述.1 1.1.1 什么是服务器和客户机2 1.1.2 sql是什么3 1.1.3 sql server 2005的发展历史4 1.1.4 sql server 2005的版本4 1.2 sql server 2005平台5 1.2.1 数据库引擎6 1.2.2 分析服务(analysis services)6 1.2.3 集成服务(integration services)6 1.2.4 复制6 1.2.5 报表服务(reporting services)6 1.2.6 通知服务(notification services)6 1.2.7 服务代理(service broker)7 1.2.8 全文搜索7 1.3 sql server 2005做什么7 1.3.1 桌面型数据库与网络数据库7 1.3.2 c/s模式与b/s模式8 1.3.3 oltp与olap10 1.3.4 数据库与数据仓库10 .1.3.5 sql server 2005做什么11 1.4 学习sql server 2005需要什么基础11 1.4.1 必备的数据库基础11 1.4.2 必备的网络基础15 1.5 本章小结20 1.6 习题20 第2章 安装sql server 200521 2.1 安装前的准备工作21 2.1.1 sql server 2005的硬件环境需求21 2.1.2 sql server 2005的软件环境需求22 2.1.3 sql server 2005的网络环境需求23 2.1.4 sql server 2005的其他安装需求23 2.1.5 sql server 2005实例23 2.1.6 本地系统账户与域用户账户25 2.1.7 windows身份验证模式与混合模式29 2.2 安装sql server 200530 2.2.1 安装windows installer 3.130 2.2.2 安装mdac 2.8 sp131 2.2.3 安装.net framework 2.033 2.2.4 安装sql server 2005企业版33 2.2.5 安装sql server 2005客户机40 2.3 服务器上的后台服务41 2.3.1 mssqlserver42 2.3.2 sqlserveragent42 2.3.3 mssqlserverolapservice42 2.3.4 reportserver42 2.3.5 msdtsserver42 2.3.6 sqlbrowser42 2.3.7 msftesql43 2.4 客户机上的管理工具43 2.4.1 management studio43 2.4.2 visual studio 200546 2.4.3 sql server配置管理器47 2.4.4 通知服务命令提示48 2.4.5 报表服务配置49 2.4.6 sql server错误和使用情况报告50 2.4.7 sql server外围应用配置器51 2.4.8 sql server profiler52 2.4.9 数据库引擎优化顾问52 2.5 本章小结53 2.6 习题53 第3章 配置sql server 2005网络55 3.1 sql server 2005网络的通信55 3.1.1 进程和线程的奥秘56 3.1.2 什么是ipc56 3.1.3 常见的ipc机制57 3.1.4 什么是网络库57 3.1.5 sql server 2005支持的网络协议57 3.2 sql server 2005网络中的名称58 3.2.1 服务器名称58 3.2.2 sql server 2005实例名58 3.2.3 服务器别名58 3.3 配置本地共享内存协议的sql server 2005网络58 3.3.1 本地网络案例环境58 3.3.2 配置共享内存的sql server 2005服务器59 3.3.3 配置共享内存的sql server 2005客户机60 3.3.4 测试本地共享内存的sql server 2005网络61 3.4 配置tcp/ip协议的sql server 2005网络61 3.4.1 tcp/ip网络案例环境61 3.4.2 配置tcp/ip的sql server 2005服务器61 3.4.3 配置tcp/ip的sql server 2005客户机63 3.4.4 测试tcp/ip的sql server 2005网络66 3.5 配置命名管道协议的sql server 2005网络66 3.5.1 命名管道网络案例环境66 3.5.2 配置命名管道的sql server 2005服务器67 3.5.3 配置命名管道的sql server 2005客户机67 3.5.4 测试命名管道协议的sql server 2005网络70 3.6 配置sql server 2005网络常见问题71 3.6.1 怎样选择网络协议71 3.6.2 不同的网络协议效率有什么差别71 3.6.3 什么是隐藏实例(hideinstance)72 3.6.4 什么是强制加密(forceencryption)73 3.7 本章小结75 3.8 习题75 第4章 管理sql server 2005服务器76 4.1 注册sql server 2005服务器76 4.1.1 什么是sql server 2005服务器注册76 4.1.2 什么情况下需要注册77 4.1.3 一个注册sql server 2005服务器的实例77 4.1.4 排除常见的注册故障80 4.1.5 总结sql server 2005服务器注册的方法82 4.2 暂停sql server 2005服务器82 4.2.1 什么是sql server 2005服务器暂停82 4.2.2 在【控制面板】中暂停服务器82 4.2.3 在【management studio】中暂停服务器83 4.2.4 在【sql server配置管理器】中暂停服务器84 4.3 关闭sql server 2005服务器85 4.3.1 暂停与关闭85 4.3.2 在【控制面板】中关闭服务器85 4.3.3 在【management studio】中关闭服务器86 4.3.4 在【sql server配置管理器】中关闭服务器87 4.4 启动sql server 2005服务器88 4.4.1 在【控制面板】中启动服务器88 4.4.2 在【management studio】中启动服务器88 4.4.3 在【sql server配置管理器】中启动服务器90 4.5 配置sql server 2005服务器90 4.5.1 配置【常规】选项卡91 4.5.2 配置【内存】选项卡92 4.5.3 配置【处理器】选项卡93 4.5.4 配置【安全性】选项卡94 4.5.5 配置【连接】选项卡96 4.5.6 配置【数据库设置】选项卡97 4.5.7 配置【高级】选项卡100 4.5.8 配置【权限】选项卡101 4.6 sql server 2005服务器的奥秘102 4.6.1 在【事件查看器】中查看服务器的奥秘102 4.6.2 在【错误日志】中查看服务器的奥秘105 4.6.3 在【management studio】中查看服务器的奥秘109 4.7 本章小结110 4.8 习题110 第5章 sql server 2005体系结构111 5.1 sql server 2005服务器的组成111 5.2 数据库引擎的体系结构112 5.2.1 数据库引擎的工作流程112 5.2.2 数据库引擎的组成部分114 5.3 查询处理器的体系结构115 5.3.1 sql语句是如何执行的115 5.3.2 查询语句是如何被优化的115 5.3.3 执行计划118 5.3.4 存储过程和触发器的意义119 5.3.5 并行查询119 5.4 内存的体系结构120 5.4.1 内存和性能的关系120 5.4.2 内存的结构120 5.4.3 进程地址空间121 5.4.4 动态内存管理122 5.4.5 最小内存和最大内存的意义123 5.5 线程(cpu)的体系结构123 5.5.1 sql server 2005的线程和纤程124 5.5.2 线程池的意义124 5.5.3 线程的执行优先级125 5.6 i/o的体系结构125 5.6.1 i/o数据与内存缓存125 5.6.2 逻辑i/o与物理i/o125 5.6.3 散播-聚集i/o126 5.6.4 异步i/o126 5.7 sql server 2005数据库的体系结构126 5.7.1 从逻辑角度看sql server 2005数据库127 5.7.2 从物理角度看sql server 2005数据库127 5.8 sql server 2005的数据文件128 5.8.1 数据文件是如何存储的128 5.8.2 数据页的类型129 5.8.3 数据页的结构129 5.8.4 数据行超出8kb如何处理130 5.8.5 区130 5.9 sql server 2005的日志文件131 5.9.1 日志文件的作用131 5.9.2 日志文件的特点132 5.9.3 日志文件的结构132 5.9.4 什么是文件组132 5.10 sql server 2005系统数据库133 5.10.1 master系统数据库133 5.10.2 model系统数据库133 5.10.3 msdb系统数据库133 5.10.4 tempdb系统数据库134 5.10.5 mssqlsystemresource(资源)系统数据库134 5.11 本章小结135 5.12 习题135 第6章 管理sql server 2005数据库136 6.1 数据库状态136 6.1.1 查看数据库的状态136 6.1.2 数据库状态的含义138 6.2 数据库文件状态139 6.2.1 查看数据库文件的状态139 6.2.2 数据库文件状态的含义140 6.3 设计用户数据库141 6.3.1 规划数据库141 6.3.2 oltp数据库的设计142 6.3.3 olap数据库的设计143 6.3.4 数据库的规范化设计144 6.3.5 数据库的完整性设计144 6.4 创建用户数据库146 6.4.1 用户数据库的命名规则146 6.4.2 创建用户数据库146 6.5 配置用户数据库149 6.5.1 查看数据库的基本信息149 6.5.2 更改数据库的所有者150 6.5.3 调整数据库文件的增长属性152 6.5.4 限制用户对数据库的访问153 6.5.5 配置数据库的故障恢复模型154 6.5.6 配置数据库的排序规则154 6.5.7 页验证设置155 6.5.8 设置数据库的统计信息选项156 6.5.9 给数据库添加文件157 6.6 分离和附加用户数据库158 6.6.1 分离用户数据库158 6.6.2 附加用户数据库160 6.7 脱机和联机用户数据库162 6.7.1 脱机用户数据库162 6.7.2 联机用户数据库163 6.8 收缩用户数据库和文件164 6.8.1 sql server 2005如何收缩数据库164 6.8.2 设置自动收缩数据库164 6.8.3 手动收缩数据库165 6.8.4 手动收缩数据库文件166 6.9 删除用户数据库168 6.10 本章小结169 6.11 疑难解析169 6.11.1 如何降低日志文件的空间169 6.11.2 数据库文件的命名必须以mdf,ndf和ldf为扩展名吗171 6.11.3 为什么tempdb数据库不可以恢复171 6.12 习题171 第7章 管理sql server 2005表172 7.1 sql server 2005的数据类型172 7.1.1 sql server 2005数据类型的分类173 7.1.2 sql server 2005基本数据类型173 7.2 null的含义174 7.3 sql server 2005表的类型175 7.3.1 按照数据存储的时间分类175 7.3.2 按照表的用途分类175 7.4 创建表176 7.5 修改表结构178 7.6 删除表179 7.7 本章小结180 7.8 疑难解析180 7.8.1 使用null值需要注意什么180 7.8.2 表中的数据显示顺序就是物理存储顺序吗181 7.8.3 identity列有什么意义181 7.8.4 为什么用insert语句插入数据无法成功182 7.9 习题182 第8章 transact-sql基础183 8.1 transact-sql概述183 8.1.1 什么是transact-sql183 8.1.2 transact-sql的语法约定184 8.1.3 transact-sql的数据对象命名方法184 8.1.4 什么是schema(架构)185 8.1.5 transact-sql的注释187 8.2 transact-sql数据类型188 8.2.1 整数型188 8.2.2 位型188 8.2.3 精确数字型189 8.2.4 货币型189 8.2.5 近似数字型189 8.2.6 日期时间型189 8.2.7 字符串型189 8.2.8 unicode字符串型189 8.2.9 二进制型190 8.2.10 其他数据类型190 8.3 transact-sql运算符190 8.3.1 算术运算符190 8.3.2 位运算符190 8.3.3 比较运算符191 8.3.4 逻辑运算符191 8.3.5 字符串连接运算符191 8.3.6 赋值运算符192 8.3.7 运算符的优先级192 8.4 transact-sql变量192 8.4.1 全局变量192 8.4.2 局部变量193 8.5 transact-sql常量195 8.5.1 常见的常量定义格式195 8.5.2 常见的常量使用方法197 8.6 transact-sql函数198 8.6.1 聚合函数198 8.6.2 日期和时间函数198 8.6.3 数学函数199 8.6.4 字符串函数200 8.7 transact-sql表达式200 8.7.1 表达式的组合200 8.7.2 表达式的结果201 8.8 本章小结201 8.9 习题201 第9章 用transact-sql操作数据203 9.1 设计实例数据库203 9.1.1 学生表t_student的设计203 9.1.2 课程表t_course的设计204 9.1.3 教学表t_teaching的设计205 9.1.4 成绩表t_result的设计205 9.2 操作实例数据库的结构206 9.2.1 直接创建实例数据库206 9.2.2 用create database创建实例数据库207 9.2.3 用alter database修改实例数据库结构209 9.2.4 用drop database删除实例数据库212 9.2.5 自动生成数据库操作的transact-sql脚本213 9.3 操作表结构218 9.3.1 用create table语句创建表218 9.3.2 用alter table语句修改表结构222 9.3.3 用drop table语句删除表227 9.4 用insert语句录入数据227 9.4.1 insert语句的语法227 9.4.2 用insert语句录入数据的实例228 9.5 用update语句更新数据229 9.5.1 update语句的语法..229 9.5.2 用update语句更新数据的实例230 9.6 用delete语句删除数据231 9.6.1 delete语句的语法231 9.6.2 用delete删除数据的实例231 9.6.3 用truncate table删除整表的数据232 9.7 本章小结232 9.8 习题233 第10章 用transact-sql查询数据234 10.1 附加实例数据库234 10.2 查询工具的使用235 10.2.1 选择当前工作数据库235 10.2.2 更改查询显示结果236 10.2.3 什么是执行计划237 10.2.4 什么是客户端统计信息238 10.2.5 在编辑器中设计查询238 10.3 查询语句的语法结构240 10.4 常见的查询语句240 10.4.1 查询表中所有的记录240 10.4.2 查询表中所有记录的指定字段241 10.4.3 允许查询结果中显示重复记录242 10.4.4 不允许查询结果中显示重复记录242 10.4.5 指定查询前n行记录243 10.4.6 指定查询记录数的百分比244 10.4.7 带表达式的查询244 10.4.8 更改列名显示的查询245 10.5 where条件查询246 10.5.1 where条件查询的语法结构246 10.5.2 where中的关系运算符246 10.5.3 where中的逻辑运算符247 10.5.4 where中的特殊运算符247 10.5.5 常见的where查询实例247 10.6 order by排序查询252 10.6.1 order by排序查询的语法结构252 10.6.2 order by子句的结构252 10.6.3 order by排序查询实例253 10.7 group by分组查询253 10.7.1 group by分组查询的语法结构253 10.7.2 group by子句的结构254 10.7.3 group by分组查询实例254 10.8 having筛选查询255 10.8.1 having筛选查询的语法结构255 10.8.2 having筛选查询实例255 10.9 into查询255 10.9.1 into查询的语法结构256 10.9.2 into查询实例256 10.10 select联结查询256 10.10.1 select联结查询的语法结构256 10.10.2 select联结查询的分类257 10.10.3 笛卡儿积查询257 10.10.4 等值联结查询258 10.10.5 自然联结查询258 10.10.6 自身联结查询259 10.10.7 内联结查询259 10.10.8 左外联结查询260 10.10.9 右外联结查询261 10.10.10 全外联结查询261 10.11 select嵌套查询262 10.11.1 什么是select嵌套查询262 10.11.2 什么是select嵌套子查询262 10.11.3 简单嵌套查询263 10.11.4 in嵌套查询264 10.11.5 some嵌套查询265 10.11.6 all嵌套查询266 10.11.7 exists嵌套查询268 10.12 本章小结268 10.13 习题269 第11章 管理sql server 2005索引270 11.1 索引基础知识270 11.1.1 表上必须建立索引吗270 11.1.2 什么时候需要在表上建立索引271 11.1.3 为什么索引可以加快查询速度271 11.1.4 需要手工维护索引吗271 11.1.5 创建的索引一定会被使用吗271 11.1.6 索引对什么样的操作有用272 11.2 sql server 2005的索引类型272 11.2.1 聚簇索引272 11.2.2 非聚簇索引273 11.2.3 惟一索引273 11.3 索引中数据的存储273 11.3.1 存储索引数据的单位273 11.3.2 堆结构273 11.3.3 b+树结构274 11.3.4 知道表和索引的存储结构275 11.4 设计索引275 11.4.1 为什么要设计索引275 11.4.2 怎样知道索引是否被使用275 11.4.3 设计索引的任务276 11.4.4 设计索引的基本方法277 11.4.5 什么情况下创建聚簇索引278 11.4.6 什么情况下创建非聚簇索引279 11.5 创建索引280 11.5.1 创建索引之前280 11.5.2 什么是联机创建索引281 11.5.3 创建索引测试实例表281 11.5.4 创建聚簇索引282 11.5.5 创建非聚簇索引287 11.5.6 创建惟一索引292 11.5.7 用create index创建索引293 11.6 修改索引295 11.6.1 在sql server management studio中修改索引295 11.6.2 用alter index修改索引297 11.6.3 索引碎片检测298 11.6.4 索引重组301 11.6.5 索引重建303 11.7 查询索引信息305 11.7.1 系统视图sys.indexes305 11.7.2 系统视图sys.index_columns306 11.7.3 系统视图sys.stats306 11.7.4 系统函数sys.dm_db_index_physical_stats307 11.7.5 系统函数sys.dm_db_index_operational_stats307 11.7.6 系统函数sys.dm_db_index_usage_stats308 11.8 删除索引309 11.8.1 删除索引之前309 11.8.2 在sql server management studio中删除索引310 11.8.3 用drop index删除索引311 11.9 本章小结312 11.10 习题313 第12章 其他数据对象314 12.1 视图314 12.1.1 视图是什么314 12.1.2 视图有什么作用315 12.1.3 视图有没有数据315 12.1.4 sql server 2005视图的分类315 12.1.5 sql server 2005如何执行视图316 12.1.6 定义视图的基本原则316 12.1.7 创建标准视图317 12.1.8 查询标准视图的数据320 12.1.9 修改视图321 12.1.10 删除视图322 12.2 统计信息323 12.2.1 统计信息是什么323 12.2.2 哪些数据对象有统计信息324 12.2.3 谁在维护统计信息324 12.2.4 读懂统计信息325 12.2.5 及时更新统计信息的意义328 12.3 同义词329 12.3.1 同义词是什么329 12.3.2 创建同义词的权限329 12.3.3 创建同义词330 12.3.4 删除同义词332 12.4 本章小结333 12.5 习题333 第13章 数据完整性334 13.1 什么是数据完整性334 13.1.1 实体完整性335 13.1.2 域完整性335 13.1.3 参照完整性336 13.1.4 用户定义完整性336 13.2 在sql server 2005中如何实现数据完整性336 13.2.1 什么是规则336 13.2.2 什么是默认值337 13.2.3 什么是约束339 13.3 创建和管理规则339 13.3.1 用create rule语句创建规则339 13.3.2 将规则绑定到列341 13.3.3 解除列上绑定的规则343 13.4 创建和管理默认值对象344 13.4.1 创建默认值对象344 13.4.2 将默认值对象绑定到列346 13.4.3 解除列上绑定的默认值对象347 13.5 创建和管理约束348 13.5.1 创建约束的transact-sql语句348 13.5.2 创建not null(非空)约束350 13.5.3 创建主键约束351 13.5.4 创建外键约束351 13.5.5 创建惟一约束353 13.5.6 创建检查约束354 13.6 本章小结355 13.7 习题355 第14章 管理sql server 2005安全356 14.1 sql server 2005的安全性机制356 14.1.1 sql server 2005客户机的安全机制357 14.1.2 网络传输的安全机制357 14.1.3 sql server 2005服务器的安全机制357 14.1.4 数据库的安全机制358 14.1.5 数据对象的安全机制358 14.2 管理服务器的安全性358 14.2.1 更改服务器的身份验证机制359 14.2.2 创建服务器账号(登录名)360 14.2.3 密码复杂性策略364 14.2.4 服务器角色364 14.3 管理数据库的安全性366 14.3.1 管理数据库架构366 14.3.2 管理数据库用户367 14.3.3 管理数据库角色369 14.3.4 修改数据库用户的默认架构370 14.4 管理数据对象的安全性371 14.4.1 对象权限371 14.4.2 给数据库用户授予对象权限371 14.5 本章小结372 14.6 习题372 第15章 备份、恢复与维护373 15.1 备份与恢复373 15.1.1 无处不在的数据危险373 15.1.2 什么是备份374 15.1.3 什么是恢复375 15.2 日志文件375 15.2.1 日志文件对数据库是必需的吗375 15.2.2 先写日志文件还是先写数据文件375 15.3 sql server 2005数据库的3种恢复模型376 15.3.1 完整恢复模型376 15.3.2 大容量日志记录恢复模型378 15.3.3 简单恢复模型379 15.3.4 如何选择数据库的恢复模型379 15.4 sql server 2005的备份和恢复类型380 15.4.1 完全数据库备份和恢复380 15.4.2 差异数据库备份和恢复380 15.4.3 事务日志备份和恢复380 15.4.4 文件组备份和恢复380 15.4.5 如何选择备份和恢复类型380 15.5 案例:完全数据库备份与恢复383 15.5.1 备份方案实施383 15.5.2 恢复方案实施386 15.6 案例:完全+日志数据库备份与恢复388 15.6.1 备份方案实施388 15.6.2 恢复方案实施389 15.7 案例:完全+差异+日志数据库备份与恢复391 15.7.1 备份方案实施392 15.7.2 恢复方案实施393 15.8 案例:从bak文件恢复数据库396 15.9 案例:数据库维护399 15.10 本章小结404 15.11 疑难解析405 15.11.1 检查点有什么作用405 15.11.2 为什么无法执行差异备份405 15.11.3 什么时候需要备份master系统数据库405 15.11.4 是否需要备份tempdb系统数据库405 15.12 习题...406 |
商品评论(0条)