目 录
第Ⅰ部分 Microsoft SQL Server 2012入门
第1章 SQL Server 2012概述 3
1.1 商业智能 3
1.2 数据库引擎 3
1.3 T-SQL编程接口 4
1.4 安全子系统 5
1.5 复制 5
1.5.1 SQL Server代理 6
1.5.2 高可用性与灾难恢复工具 6
1.5.3 SQL Server集成服务 7
1.5.4 SQL Server管理工具 7
1.6 小结 8
第2章 SQL Server 2012的安装、
配置与升级 9
2.1 SQL Server 2012的不同版本 9
2.2 挑选安装SQL Server所需的硬件 10
2.3 软件环境 11
2.4 准备工作 12
2.4.1 SQL Server实例 12
2.4.2 服务帐户 12
2.4.3 排序规则 13
2.4.4 身份验证模式 13
2.5 SQL Server的安装 13
2.6 安装后的工作 16
2.6.1 为SQL Server数据库引擎
分配TCP/IP端口号 16
2.6.2 使用Windows防火墙来开放
某个SQL Server实例的端口 16
2.7 如何升级到SQL Server 2012 17
2.7.1 原状升级 17
2.7.2 并行升级 17
2.8 小结 18
第3章 使用SQL Server 2012的
管理与开发工具 19
3.1 使用SQL Server 2012联机丛书 19
3.2 使用SQL Server Management Studio 20
3.3 使用SQL Server Management Studio
来创建解决方案及项目 22
3.4 使用SQL Server Data Tools 23
3.5 使用SQL Server配置管理器 25
3.6 小结 27
第Ⅱ部分 设计数据库
第4章 设计SQL Server数据库 31
4.1 了解SQL Server系统数据库 31
4.1.1 master数据库 31
4.1.2 tempdb数据库 32
4.1.3 model数据库 32
4.1.4 msdb数据库 32
4.1.5 resource数据库 33
4.1.6 distribution数据库 33
4.2 理解SQL Server数据库结构 34
4.2.1 创建数据库 34
4.2.2 了解参数 35
4.3 添加文件与文件组 36
4.4 分离与附加SQL Server数据库 38
4.5 了解数据库恢复模式 40
4.5.1 简单恢复模式 40
4.5.2 完全恢复模式 40
4.5.3 大容量日志恢复模式 40
4.6 小结 40
第5章 初建表格 41
5.1 创建一类命名规则 42
5.2 熟悉架构 43
5.3 熟悉SQL Server数据类型 45
5.3.1 数字型 45
5.3.2 字符串型 46
5.3.3 日期与时间型 47
5.3.4 其他数据类型 47
5.4 熟悉列属性 48
5.5 创建表 49
5.6 修改表 51
5.7 熟悉计算列 53
5.8 向表中添加约束 54
5.8.1 主键约束 54
5.8.2 默认值约束 54
5.8.3 唯一性约束 54
5.8.4 检查约束 54
5.8.5 外键约束 57
5.9 熟悉FileTable 58
5.10 创建数据库关系图 58
5.11 小结 60
第6章 索引的建立与维护 61
6.1 索引结构概览 61
6.1.1 聚集索引结构 63
6.1.2 非聚集索引结构 65
6.1.3 列存储索引结构 66
6.2 添加索引选项 67
6.3 添加包含性列 70
6.4 为索引添加筛选器 71
6.5 放置索引 72
6.6 禁用与删除索引 74
6.7 小结 75
第Ⅲ部分 数据库设计高级主题
第7章 表压缩 79
7.1 理解行压缩 80
7.2 理解页压缩 83
7.3 评估压缩效果 85
7.4 压缩时考虑的因素 85
7.5 小结 86
第8章 表分区 87
8.1 创建分区函数 87
8.2 创建分区方案 90
8.3 将表与索引分区 91
8.4 小结 95
第9章 数据库快照 96
9.1 了解数据库快照的先决条件与限制 96
9.2 创建与查看数据库快照 97
9.3 删除数据库快照 98
9.4 利用数据库快照恢复数据库 100
9.5 小结 100
第10章 SELECT语句 101
10.1 编写SELECT语句 101
10.2 对结果进行排序 102
10.3 使用WHERE子句筛选数据 103
10.3.1 使用比较操作符 103
10.3.2 使用BETWEEN操作符 104
10.3.3 使用带多个条件的WHERE
子句 105
10.3.4 检索一张值列表 105
10.3.5 使用通配符检索 106
10.4 创建别名 106
10.5 使用JOIN操作符获取多表数据 107
10.5.1 使用INNER JOIN 107
10.5.2 使用OUTER JOIN 109
10.6 限定结果集所返回的数据 110
10.6.1 使用TOP关键字 110
10.6.2 使用DISTINCT与NULL 111
10.7 使用UNION将结果集结合起来 112
10.8 小结 113
第Ⅳ部分 使用T-SQL
第11章 数据检索高级主题 117
11.1 将数据行转换为列与将列转换为行
(转置) 117
11.1.1 使用PIVOT操作符 117
11.1.2 使用UNPIVOT操作符 119
11.2 数据分页 122
11.3 编写表达式 123
11.4 使用变量 124
11.5 小结 125
第12章 修改数据 126
12.1 将数据插入SQL Server表中 126
12.2 使用序列号 127
12.3 更新表中的数据 130
12.4 从表中删除数据 132
12.5 合并数据 133
12.6 返回输出的数据 133
12.7 小结 135
第13章 内置标量值函数 136
13.1 使用日期与时间函数 136
13.1.1 从部件中获取日期和
时间值 138
13.1.2 修改、验证日期值以及
获取日期差值 139
13.2 使用转换函数 139
13.3 使用字符串函数 142
13.4 使用逻辑函数 143
13.5 小结 144
第Ⅴ部分 创建其他数据库对象
第14章 T-SQL高级主题 147
14.1 聚合、分区与分组 147
14.1.1 执行聚合 147
14.1.2 执行分组聚合 149
14.2 分区 151
14.2.1 新的T-SQL分区特性 152
14.2.2 使用HAVING子句 153
14.3 使用SQL Server临时对象 153
14.3.1 公用表表达式 154
14.3.2 表变量 156
14.3.3 临时表 157
14.4 处理T-SQL错误 159
14.5 控制流关键字 160
14.5.1 BEGIN...END 161
14.5.2 IF...ELSE 161
14.5.3 WHILE 162
14.6 小结 163
第15章 视图 164
15.1 什么是视图 164
15.2 创建索引视图 169
15.2.1 被引用表的需求 169
15.2.2 索引视图需求 170
15.3 小结 171
第16章 用户定义函数 172
16.1 理解用户定义标量值函数 172
16.1.1 定义函数参数 173
16.1.2 执行标量值函数 177
16.2 理解表值函数 179
16.3 函数的限制 181
16.4 小结 182
第17章 存储过程 183
17.1 使用存储过程 184
17.2 使用EXECUTE关键字 186
17.3 在存储过程中使用参数 187
17.4 删除存储过程 190
17.5 小结 190
第18章 数据操作触发器 191
18.1 触发器的类型 191
18.2 创建触发器 192
18.3 修改触发器 195
18.4 删除触发器 196
18.5 启用与禁用触发器 196
18.6 小结 197
第Ⅵ部分 SQL Server复制
第19章 复制 201
19.1 复制的类型 201
19.1.1 快照复制 202
19.1.2 事务复制 202
19.1.3 合并复制 202
19.2 复制代理 203
19.2.1 快照代理 203
19.2.2 分发代理 203
19.2.3 日志读取器代理 203
19.2.4 合并代理 203
19.3 配置复制 204
19.4 监视复制 213
19.5 小结 214
第Ⅶ部分 数据库维护
第20章 备份 217
20.1 了解备份设置 217
20.2 完整数据库备份 219
20.3 差异数据库备份 222
20.4 事务日志数据库备份 224
20.5 还原数据库 226
20.6 小结 228
第21章 管理、维护索引和统计数据 229
21.1 检查索引碎片 229
21.2 索引碎片整理 230
21.2.1 重新组织索引 230
21.2.2 重新生成索引 232
21.2.3 检查索引的使用情况 234
21.3 创建与更新数据库统计信息 235
21.3.1 查看数据库统计信息选项 235
21.3.2 更新数据库统计信息 236
21.4 小结 238
第22章 维护计划 239
22.1 执行数据库一致性检查 239
22.2 创建维护计划 240
22.3 小结 245
第Ⅷ部分 数据库管理
第23章 SQL Server Profiler 249
23.1 理解SQL Server Profiler 249
23.2 创建跟踪 250
23.2.1 筛选跟踪 253
23.2.2 创建跟踪模板 255
23.3 运行服务器端跟踪 256
23.4 小结 257
第24章 扩展事件 258
24.1 理解扩展事件体系架构 258
24.2 创建与配置扩展事件会话 259
24.3 使用扩展事件会话来监控
系统性能 262
24.4 小结 266
第25章 SQL Server安全性 267
25.1 理解主体 268
25.2 创建服务器登录 268
25.3 创建用户定义的服务器角色 272
25.4 创建数据库用户 274
25.5 创建固定数据库角色 276
25.6 配置包含的数据库 278
25.6.1 创建包含的用户 280
25.6.2 包含的数据库的优点与
局限性 281
25.7 小结 281
第26章 资源调控器 282
26.1 启用与禁用资源调控器 282
26.2 创建资源池 284
26.3 创建工作负荷组 286
26.4 使用分类器函数 288
26.5 测试分类器函数 289
26.6 修改资源调控器配置 290
26.7 小结 291
第27章 SQL Server代理 292
27.1 SQL Server代理组件 292
27.2 查看SQL Server代理配置管理器
选项 293
27.3 配置SQL Server代理属性 295
27.4 创建操作员 298
27.5 配置警报 299
27.6 配置作业 302
27.7 创建代理 304
27.8 小结 307
第28章 数据库邮件 308
28.1 数据库邮件组件 308
28.2 配置数据库邮件 309
28.3 使用数据库邮件发送电子邮件 314
28.4 监控数据库邮件 315
28.5 小结 317
第29章 数据定义触发器 318
29.1 触发器类型 318
29.2 创建触发器 319
29.3 修改触发器 322
29.4 启用与禁用触发器 323
29.5 删除触发器 323
29.6 小结 324
第30章 动态管理对象 325
30.1 从DMO中获取SQL Server元
数据 325
30.2 查询服务器性能统计数据 326
30.3 查询服务器信息 328
30.3.1 sys.dm_server_services 328
30.3.2 sys.dm_os_volume_stats 328
30.3.3 sys.dm_os_sys_memory 328
30.3.4 sys.dm_exec_requests和
sys.dm_exec_sessions 329
30.3.5 sys.dm_exec_sql_text 329
30.4 查询性能信息 329
30.5 查询索引统计数据 330
30.5.1 sys.dm_db_index_usage_stats 332
30.5.2 sys.dm_db_index_physical_stats 333
30.6 小结 333
第Ⅸ部分 高可用性的解决方案
第31章 AlwaysOn 337
31.1 故障转移群集实例的改进 338
31.1.1 多子网群集技术 338
31.1.2 强健的故障检测 338
31.1.3 本地驱动器上的临时
数据库(tempdb) 338
31.2 创建 AlwaysOn可用性组 339
31.2.1 Windows服务器故障转移
群集技术 339
31.2.2 启用AlwaysOn 340
31.2.3 创建可用性组 341
31.3 管理AlwaysOn可用性组 347
31.4 读取辅助数据库副本 350
31.5 小结 351
第32章 日志传送 352
32.1 日志传送组件 353
32.2 日志传送先决条件 354
32.3 配置日志传送 355
32.4 小结 360
译者后记 361
X SQL Server 2012从入门到精通
目录 IX