第1章 SQL Server 2012概述与安装 1
1.1 SQL Server的发展历程 1
1.2 SQL Server 2012的版本与运行环境 2
1.2.1 SQL Server 2012的版本 2
1.2.2 SQL Server 2012运行的硬件环境 3
1.2.3 SQL Server 2012运行的软件环境 4
1.3 安装SQL Server 2012 4
1.4 SQL Server 2012的常用工具 13
1.4.1 SQL Server Management Studio 14
1.4.2 SQL Server配置管理器 15
1.4.3 SQL Server Profiler 18
1.4.4 数据库引擎优化顾问 21
1.4.5 SQL Server联机丛书 22
1.5 本章小结 24
习题与思考 24
第2章 SQL Server 2012服务器管理 25
2.1 服务器组 25
2.1.1 服务器组划分 26
2.1.2 创建服务器组 26
2.1.3 管理服务器组 26
2.2 服务器注册 27
2.2.1 注册服务器 27
2.2.2 服务器信息的导出与导入 29
2.2.3 管理已注册的服务器 31
2.3 配置服务器选项 33
2.3.1 SQL Server 2012服务器选项 33
2.3.2 sp_configure配置服务器选项 34
2.3.3 SQL Server Management Studio配置服务器选项 34
2.4 本地服务器组和中央管理服务器 44
2.4.1 使用本地服务器组 44
2.4.2 创建中央管理服务器 46
2.4.3 本地服务器组与中央管理服务器的比较 49
2.5 本章小结 50
习题与思考 50
第3章 数据库 51
3.1 SQL Server 2012的系统数据库 51
3.1.1 master 52
3.1.2 model 52
3.1.3 msdb 52
3.1.4 tempdb 52
3.1.5 Resource 53
3.2 数据库文件及文件组 54
3.2.1 SQL Server数据存储原理 54
3.2.2 SQL Server数据库文件 56
3.2.3 文件组 57
3.3 创建数据库 58
3.3.1 使用SSMS创建数据库 58
3.3.2 使用T-SQL语句创建数据库 59
3.4 设置数据库选项 61
3.4.1 数据库选项及设置 61
3.4.2 查看数据库信息 64
3.5 管理数据库 66
3.5.1 扩大数据库空间 66
3.5.2 收缩数据库空间 68
3.5.3 管理数据库文件 71
3.5.4 管理文件组 73
3.5.5 删除数据库 75
3.5.6 分离数据库 76
3.5.7 附加数据库 78
3.5.8 部分包含数据库 81
3.6 数据库快照 84
3.7 本章小结 87
习题与思考 87
第4章 表 88
4.1 数据表概述 88
4.1.1 关系型数据表 88
4.1.2 规范化与范式 90
4.1.3 ER图 92
4.1.4 SQL Server 2012中数据表的类型 93
4.2 数据类型 93
4.2.1 系统数据类型 94
4.2.2 用户自定义数据类型 99
4.3 创建数据表 101
4.3.1 使用SSMS创建数据表 102
4.3.2 使用T-SQL创建数据表 103
4.4 修改数据表 104
4.4.1 使用SSMS修改数据表 104
4.4.2 使用T-SQL修改数据表 106
4.5 删除数据表 108
4.5.1 使用SSMS删除数据表 108
4.5.2 使用T-SQL删除数据表 110
4.6 数据完整性与约束 110
4.6.1 数据完整性 110
4.6.2 创建约束 112
4.6.3 修改和删除约束 122
4.6.4 禁用约束 123
4.7 数据库关系图 124
4.7.1 使用数据库关系图管理表间关系 124
4.7.2 使用数据库关系图管理数据库 127
4.8 使用数据表 127
4.9 临时表 129
4.9.1 创建临时表 129
4.9.2 使用临时表 130
4.10 分区表 131
4.10.1 创建分区函数 131
4.10.2 创建分区方案 132
4.10.3 创建分区表 133
4.10.4 分区表的使用 133
4.11 FileTable 135
4.11.1 启用FILESTREAM 136
4.11.2 创建FileTable 139
4.11.3 使用FileTable 141
4.12 本章小结 143
习题与思考 143
第5章 Transact-SQL基础 144
5.1 T-SQL概述 144
5.1.1 T-SQL的发展 144
5.1.2 T-SQL语言的分类 145
5.2 T-SQL数据操纵语言 145
5.2.1 INSERT插入数据 146
5.2.2 UPDATE更新数据 148
5.2.3 DELETE删除数据 149
5.3 T-SQL数据查询语言 150
5.3.1 单表数据查询 150
5.3.2 多表联接数据查询 163
5.3.3 使用SELECT INTO语句 169
5.3.4 组合查询 170
5.3.5 使用FETCH与OFFSET分页 173
5.4 T-SQL附加语言元素 175
5.4.1 标识符 175
5.4.2 保留关键字 176
5.4.3 常量与变量 176
5.4.4 运算符 177
5.4.5 控制流语句 179
5.4.6 函数 183
5.5 本章小结 190
习题与思考 190
第6章 索引 192
6.1 概述 192
6.2 索引的类别及特点 194
6.2.1 聚集索引 194
6.2.2 非聚集索引 196
6.2.3 堆 198
6.3 创建索引 199
6.3.1 在SSMS中创建索引 199
6.3.2 使用T-SQL中创建索引 201
6.4 列存储索引 203
6.5 管理索引 206
6.5.1 在SSMS中管理索引 206
6.5.2 使用T-SQL管理索引 207
6.6 索引选项 208
6.6.1 填充因子 208
6.6.2 索引的其他选项 210
6.7 本章小结 211
习题与思考 211
第7章 视图 213
7.1 视图简介 213
7.2 创建视图 215
7.2.1 使用SSMS创建视图 215
7.2.2 使用T-SQL创建视图 217
7.2.3 更改视图列标题 218
7.2.4 创建多表联接视图 219
7.3 视图维护 221
7.3.1 查看视图定义 221
7.3.2 修改视图 222
7.3.3 删除视图 224
7.4 视图的应用 225
7.5 索引视图和分区视图 227
7.5.1 索引视图 228
7.5.2 分区视图 229
7.6 本章小结 232
习题与思考 232
第8章 存储过程 233
8.1 存储过程简介 233
8.2 创建存储过程 234
8.2.1 创建无参数的存储过程 235
8.2.2 创建带参数的存储过程 236
8.2.3 创建INSERT、UPDATE和DELETE的存储过程 238
8.2.4 创建带有输出参数的存储过程 239
8.2.5 在存储过程中使用流程控制语句 240
8.3 管理存储过程 242
8.3.1 查看存储过程的定义信息 242
8.3.2 修改存储过程 244
8.3.3 删除存储过程 245
8.3.4 存储过程的SSMS执行方式 246
8.4 系统存储过程和扩展存储过程 247
8.4.1 系统存储过程 247
8.4.2 扩展存储过程 248
8.5 本章小结 250
习题与思考 250
第9章 触发器 251
9.1 触发器简介 251
9.2 DML触发器 252
9.2.1 触发器的创建语法 252
9.2.2 INSERT触发器 253
9.2.3 DELETE触发器 255
9.2.4 UPDATE触发器 258
9.2.5 组合触发器 259
9.3 INSTEAD OF触发器 261
9.4 DDL触发器 262
9.5 管理触发器 265
9.5.1 查看触发器的定义 265
9.5.2 修改触发器 267
9.5.3 禁用和启用触发器 267
9.5.4 删除触发器 269
9.6 本章小结 271
习题与思考 271
第10章 安全管理 272
10.1 SQL Server 2012安全管理的结构 272
10.2 服务器安全管理 273
10.2.1 SQL Server身份验证模式 273
10.2.2 SQL Server身份验证模式的设置 274
10.2.3 SQL Server登录名管理 275
10.2.4 服务器角色 283
10.2.5 登录名授权 286
10.3 数据库安全管理 287
10.3.1 数据库用户 288
10.3.2 数据库角色 291
10.3.3 应用程序角色 295
10.3.4 管理角色的T-SQL语句 296
10.3.5 角色的综合应用 298
10.3.6 数据库用户授权 299
10.4 架构安全管理 302
10.4.1 创建架构 302
10.4.2 在架构中添加对象 304
10.4.3 在架构中移动对象 304
10.4.4 设置架构权限 305
10.5 权限管理的T-SQL语句 306
10.5.1 GRANT授权 306
10.5.2 DENY拒绝权限 307
10.5.3 REVOKE撤销权限 308
10.6 本章小结 308
习题与思考 308
第11章 备份与还原 310
11.1 备份还原的概述 310
11.1.1 备份类型 310
11.1.2 恢复模式 311
11.2 备份数据库 312
11.2.1 备份设备 313
11.2.2 执行备份 314
11.2.3 将数据备份到多个设备 320
11.3 还原数据库 322
11.3.1 还原数据库的操作 322
11.3.2 时点还原 326
11.3.3 文件和文件组还原 327
11.3.4 还原数据库的T-SQL语句 330
11.3.5 从数据库快照中还原数据库 332
11.4 本章小结 332
习题与思考 332
第12章 自动化管理 333
12.1 数据库邮件 333
12.1.1 配置数据库邮件 333
12.1.2 测试数据库邮件 336
12.2 SQL Server代理 338
12.2.1 启动SQL Server代理服务 338
12.2.2 设置SQL Server代理服务 339
12.3 操作员 343
12.3.1 创建操作员 343
12.3.2 设置故障操作员 344
12.4 作业 345
12.4.1 创建作业 345
12.4.2 执行作业 351
12.5 警报 352
12.5.1 创建SQL Server事件警报 353
12.5.2 创建SQL Server性能警报 354
12.6 数据库维护计划 356
12.6.1 使用向导创建维护计划 356
12.6.2 使用设计器创建维护计划 361
12.7 本章小结 364
习题与思考 364
第13章 数据集成服务 365
13.1 SQL Server Integration Service概述 365
13.2 数据导入与导出向导 366
13.3 SSIS包设计 373
13.3.1 SQL Server Data Tools 373
13.3.2 SSIS数据集成项目设计 375
13.3.3 数据转化 381
13.3.4 使用循环控制流 386
13.4 本章小结 391
习题与思考 391
第14章 报表服务 392
14.1 SQL Server Reporting Services的架构 392
14.2 创建报表 394
14.3 部署报表 401
14.3.1 Reporting Services配置 401
14.3.2 部署报表 406
14.4 访问和管理报表 407
14.4.1 访问报表 407
14.4.2 管理报表 408
14.5 本章小结 413
习题与思考 413
参考文献 414