书籍详情
SQL Server2005系统管理实录
作者:赵松涛编著
出版社:电子工业出版社
出版时间:2006-05-01
ISBN:9787121024870
定价:¥45.00
购买这本书可以去
内容简介
本书是作者研究SQLServer2005数据库系统管理的经验总结。全书共分为15章,内容包括初学SQLServer2005的问题,安装SQLServer2005,配置SQLServer2005网络,管理SQLServer2005服务器,SQLServer2005体系结构,管理SQLServer2005数据库,管理SQLServer2005表,Transact-SQL基础,用Transact-SQL操作数据、用Transact-SQL查询数据,管理SQLServer2005索引,其他数据对象,数据完整性,管理SQLServer2005安全,备份、恢复和维护等。本书内容全面,思路流畅,实用性强,所有实例均经过上机反复实践。本书适合SQLServer2005初学者阅读和参考,可作为SQLServer2005数据库技术培训教材。本书配套光盘包括各章标注的内容及作者亲自配音制作的多媒体视频。今天在书店里了看了这本书,买回来,一口气看了前10章的视屏。真的不错,像看电影一样学习,我觉得这确实提高了我们的学习的效率,使我这个九流大学的学生的学习也感到和一些比较好的大学的学生没有多大的差别。一本好书,可以提高人的学习的效率。:网友
作者简介
赵松涛,海军少校,北京大学计算机专业硕士。高校教学5年,从事计算机网络和数据库系统管理、应用开发6年。目前在在线从事SQL Server和Oracle数据库的系统管理、应用开发,并为大型企业和高校做培训,广受学员好评。从2001年至今,先后独立和合作出版了6本数据库方面的图书。对数据库的体系结构,日志的结构和作用,以及数据库的备份和恢复机制等有较深入的理解。“对自己的作品负责,对自己的读者负责”是我不懈的追求。多年的数据库管理、开发和培训工作告诉我,要学好SQL Server2005,必须请你首先明确以下观点:网络是基础,数据库是根本,只有将这两者结合起来,才能学好网络数据库。一定要重视日志及其作用!
目录
第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与OLAP 10
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 2005 21
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 2005 30
2.2.1 安装Windows Installer 3.1 30
2.2.2 安装MDAC 2.8 SP1 31
2.2.3 安装.NET Framework 2.0 33
2.2.4 安装SQL Server 2005企业版 33
2.2.5 安装SQL Server 2005客户机 40
2.3 服务器上的后台服务 41
2.3.1 MSSQLSERVER 42
2.3.2 SQLSERVERAGENT 42
2.3.3 MSSQLServerOLAPService 42
2.3.4 ReportServer 42
2.3.5 MSDTSServer 42
2.3.6 SQLBrowser 42
2.3.7 MSFTESQL 43
2.4 客户机上的管理工具 43
2.4.1 Management Studio 43
2.4.2 Visual Studio 2005 46
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 Profiler 52
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 什么是IPC 56
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/O 125
5.6.3 散播-聚集I/O 126
5.6.4 异步I/O 126
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-SQL 183
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.indexes 305
11.7.2 系统视图sys.index_columns 306
11.7.3 系统视图sys.stats 306
11.7.4 系统函数sys.dm_db_index_physical_stats 307
11.7.5 系统函数sys.dm_db_index_operational_stats 307
11.7.6 系统函数sys.dm_db_index_usage_stats 308
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
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与OLAP 10
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 2005 21
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 2005 30
2.2.1 安装Windows Installer 3.1 30
2.2.2 安装MDAC 2.8 SP1 31
2.2.3 安装.NET Framework 2.0 33
2.2.4 安装SQL Server 2005企业版 33
2.2.5 安装SQL Server 2005客户机 40
2.3 服务器上的后台服务 41
2.3.1 MSSQLSERVER 42
2.3.2 SQLSERVERAGENT 42
2.3.3 MSSQLServerOLAPService 42
2.3.4 ReportServer 42
2.3.5 MSDTSServer 42
2.3.6 SQLBrowser 42
2.3.7 MSFTESQL 43
2.4 客户机上的管理工具 43
2.4.1 Management Studio 43
2.4.2 Visual Studio 2005 46
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 Profiler 52
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 什么是IPC 56
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/O 125
5.6.3 散播-聚集I/O 126
5.6.4 异步I/O 126
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-SQL 183
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.indexes 305
11.7.2 系统视图sys.index_columns 306
11.7.3 系统视图sys.stats 306
11.7.4 系统函数sys.dm_db_index_physical_stats 307
11.7.5 系统函数sys.dm_db_index_operational_stats 307
11.7.6 系统函数sys.dm_db_index_usage_stats 308
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
猜您喜欢