出版时间:2014-1 出版社:电子工业出版社 作者:廖梦怡,王金柱
内容概要
《SQL Server 2012宝典》全面介绍SQL Server 2012各方面的知识,全书由5部分组成:第1部分为数据库的基础篇,介绍了数据库的类型、概念、对象、SQL语言等;第2部分为SQL Server 2012的准备篇,介绍SQL Server 2012的功能、特性、各版本的比较、安装方法、SQL Server 2012的服务、客户端的工具等;第3部分为SQL Server 2012的基本操作篇,介绍如何管理与配置SQL Server 2012服务器,如何创建数据库和数据表,以及如何对数据库里的数据进行操作;第4部分为数据库管理篇,介绍如何使用T-SQL程序对数据进行复杂的运算,以及如何使用视图、存储过程、触发器、索引、用户定义数据类型、用户定义函数、全文索引、游标、事务和锁等方面的知识;第5部分为SQL Server高级技术篇,介绍SQL Server 2012的主要新增功能,如何进行数据库备份与恢复,如何规划数据库,如何保证数据库的安全、自动化管理,如何使用性能工具优化数据库、数据的导入/导出、Analysis Services、Reporting Services、SQL Server Integration Service、包含数据库、文件表等技术。
《SQL Server 2012宝典》适合SQL Server 2012的初学者学习,也适合于数据库的管理人员与开发人员阅读和参考。
书籍目录
第1部分 基础篇
第1章 认识数据库 2
1.1 数据库的类型 2
1.1.1 结构型数据库 2
1.1.2 网络型数据库 2
1.1.3 关系型数据库 2
1.1.4 面向对象型数据库 3
1.2 数据库的基本概念 3
1.2.1 数据 3
1.2.2 数据库 3
1.2.3 数据库管理系统 3
1.2.4 数据库系统 3
1.3 常见的数据库对象 3
1.3.1 表与记录 4
1.3.2 主键与外键 4
1.3.3 索引 4
1.3.4 约束 4
1.3.5 视图 5
1.3.6 关系图 5
1.3.7 默认值 5
1.3.8 规则 5
1.3.9 存储过程 5
1.3.10 触发器 6
1.3.11 用户和角色 6
1.4 数据库管理系统的基本功能 6
1.4.1 定义数据 6
1.4.2 处理数据 6
1.4.3 保证数据安全 6
1.4.4 备份和恢复数据 6
1.5 SQL语言简介 6
1.5.1 SQL语言的历史 7
1.5.2 SQL语言的优点 7
1.5.3 SQL语言分类 7
1.6 数据库系统的用户 8
1.7 小结 8
第2章 SQL SERVER 2012简介及安装 9
2.1 SQL SERVER 2012简介 9
2.1.1 SQL SERVER 2012数据平台 9
2.1.2 使用SQL SERVER 2012的优势 10
2.2 SQL SERVER 2012的新功能 10
2.2.1 可信任性 11
2.2.2 开发和管理生产效率 11
2.2.3 商业智能 12
2.3 SQL SERVER 2012各版本介绍及对比 14
2.4 安装SQL SERVER 2012的系统要求 14
2.4.1 CPU与内存要求 14
2.4.2 硬盘空间要求 15
2.5 安装SQL SERVER 2012 15
2.6 升级到SQL SERVER 2012 26
2.6.1 升级之前要考虑的问题 26
2.6.2 升级注意事项 27
2.6.3 升级到SQL SERVER 2012 28
2.7 小结 29
第2部分 准备篇
第3章 初识SQL SERVER 2012 32
3.1 服务器上的后台服务 32
3.1.1 SQL SERVER服务 33
3.1.2 SQL SERVER ACTIVE DIRECTORY HELPER服务 33
3.1.3 SQL SERVER AGENT服务 33
3.1.4 SQL SERVER ANALYSIS SERVICES服务 33
3.1.5 SQL SERVER BROWSER服务 34
3.1.6 SQL SERVER FULLTEXT SEARCH服务 34
3.1.7 SQL SERVER INTEGRATION SERVICES服务 34
3.1.8 SQL SERVER REPORTING SERVICES服务 34
3.1.9 SQL Server VSS Writer服务 35
3.2 客户端管理工具 35
3.2.1 SQL Server Management Studio企业管理器 35
3.2.2 Reporting Services配置 35
3.2.3 SQL Server Configuration Manager配置管理器 37
3.2.4 SQL Server错误和使用情况报告 38
3.2.5 SQL Server Profiler探查器 39
3.2.6 数据库引擎优化顾问 41
3.2.7 Visual Studio 2012 42
3.2.8 SQL Server Business Intelligence Development Studio工具 43
3.3 SQL Server Management Studio 43
3.3.1 认识SQL Server Management Studio的界面 43
3.3.2 更改SQL Server Management
Studio的界面布局 43
3.3.3 使用查询编辑器 44
3.3.4 利用编辑器自动生成查询语句 45
3.3.5 脱机编写SQL语句后连接到服务器 46
3.3.6 全屏显示查询编辑器 46
3.3.7 使用模板编写SQL语句 46
3.3.8 创建自定义模板 48
3.3.9 使用项目脚本和解决方案 49
3.4 小结 50
第3部分 基础操作篇
第4章 数据库服务器管理 52
4.1 连接与断开数据库服务器 52
4.1.1 用SQL Server Management
Studio连接服务器 52
4.1.2 断开与数据库服务器的连接 54
4.2 使用配置管理器配置SQL Server服务 54
4.2.1 启动/停止/暂停/重新启动服务 54
4.2.2 配置服务的启动模式 57
4.2.3 更改登录身份 58
4.2.4 SQL Server 2012使用的网络协议 59
4.2.5 为SQL Server 2012配置共享内存协议 59
4.2.6 为SQL Server 2012配置TCP/IP协议 61
4.2.7 配置客户端网络协议的使用顺序 64
4.2.8 隐藏实例 65
4.3 配置SQL Server 2012服务器 65
4.3.1 服务器属性的常规设置 66
4.3.2 服务器属性的内存设置 66
4.3.3 服务器属性的处理器设置 68
4.3.4 服务器属性的安全性设置 69
4.3.5 服务器属性的连接设置 70
4.3.6 服务器属性的数据库设置 71
4.3.7 服务器属性的高级选项设置 72
4.3.8 服务器属性的权限设置 74
4.4 小结 74
第5章 数据库管理 75
5.1 创建数据库前的准备 75
5.1.1 数据库命名规则 75
5.1.2 创建数据库需要的权限 76
5.1.3 数据库的所有者 76
5.1.4 数据库的上限 76
5.1.5 数据库文件和文件组 76
5.1.6 记录数据库操作的事务日志 77
5.1.7 数据库状态 77
5.2 在SQL Server Management Studio中创建数据库 77
5.3 使用Create database语句创建数据库 83
5.3.1 基本语法 83
5.3.2 T-SQL中的语法约定 84
5.3.3 参数讲解 85
5.3.4 Create database语句需要注意的功能 86
5.3.5 举例说明 86
5.3.6 使用模板 89
5.4 修改数据库设置 92
5.4.1 使用SQL Server Management Studio修改数据库设置 92
5.4.2 查看数据库的基本信息 93
5.4.3 增加、删除与修改数据库文件 93
5.4.4 修改数据库的所有者 95
5.4.5 设置全文索引 96
5.4.6 增加、删除与修改文件组 96
5.4.7 修改数据库的排序规则 97
5.4.8 修改数据库的兼容性 98
5.4.9 限制用户的访问 98
5.4.10 设置用户及角色对数据库的使用权限 98
5.4.11 修改数据库名称 100
5.5 使用Alter database语句修改数据库 101
5.5.1 基本语法 101
5.5.2 参数说明 101
5.5.3 Alter database语句的注意事项 104
5.5.4 典型案例 104
5.6 分离与附加数据库 106
5.6.1 分离数据库 106
5.6.2 附加数据库 109
5.7 脱机和联机数据库 113
5.7.1 脱机数据库 113
5.7.2 联机数据库 114
5.8 删除数据库 115
5.8.1 在SQL Server Management Studio中删除数据库 115
5.8.2 用Drop database语句删除数据库 116
5.9 收缩数据库 116
5.9.1 自动收缩数据库 117
5.9.2 手动收缩数据库 117
5.9.3 手动收缩数据库文件 119
5.10 编写数据库脚本 121
5.11 小结 123
第6章 数据表管理 124
6.1 数据表简介 124
6.1.1 数据表的分类 125
6.1.2 认识列 125
6.2 数据类型 125
6.2.1 精确数字型 126
6.2.2 近似数字型 127
6.2.3 日期和时间型 127
6.2.4 字符串型 128
6.2.5 Unicode字符串型 128
6.2.6 二进制字符串型 128
6.2.7 其他数据类型 129
6.2.8 用户自定义型 129
6.3 在SQL Server Management Studio中创建表 130
6.3.1 定义数据表的字段和主键 130
6.3.2 设置默认值 132
6.3.3 设置标识列 132
6.3.4 建立表与表之间的关系 133
6.3.5 创建索引 136
6.3.6 创建约束 137
6.3.7 设置数据表所在文件组 139
6.4 用T-SQL语言创建表 140
6.4.1 基本语法 140
6.4.2 参数说明 140
6.4.3 创建新表 145
6.4.4 创建标识字段 146
6.4.5 创建带标识种子和标识增量的标识字段 146
6.4.6 创建非Null字段 146
6.4.7 字段的默认值 147
6.4.8 将创建的表放在文件组中 147
6.4.9 使用Check约束 147
6.4.10 设置字段的排序规则 148
6.4.11 创建外键 148
6.4.12 设置外键的更新规则和删除规则 148
6.4.13 创建Unique约束 149
6.4.14 创建计算列 149
6.4.15 设置数据表的约束 150
6.4.16 Create table语句的注意事项 150
6.5 在SQL Server Management Studio中修改表 150
6.5.1 修改数据表名 150
6.5.2 插入、移动和删除数据表的字段 151
6.5.3 修改字段数据类型 152
6.5.4 修改主键、外键、索引和约束 152
6.5.5 修改数据表属性 152
6.6 用T-SQL语言修改数据表结构 154
6.6.1 基本语法 154
6.6.2 参数说明 154
6.6.3 修改字段属性 158
6.6.4 添加字段 159
6.6.5 添加字段并设置字段属性 159
6.6.6 删除字段 159
6.6.7 添加约束 159
6.6.8 禁用约束 159
6.6.9 启用约束 160
6.6.10 删除约束 160
6.6.11 设置主键 160
6.6.12 修改字段名和数据表名 161
6.6.13 Alter table语句的注意事项 161
6.7 在SQL Server Management Studio中删除表 161
6.8 用Drop table删除数据表 164
6.9 编写表脚本 164
6.10 数据库关系图的使用 165
6.10.1 创建数据库关系图并添加数据表 165
6.10.2 添加相关联的数据表 167
6.10.3 更改数据表的显示模式 167
6.10.4 在关系图中删除数据表 168
6.10.5 建立和删除表与表之间的关联 168
6.11 临时表简介 169
6.12 已分区表简介 170
6.13 小结 170
第7章 数据(记录)操作 172
7.1 在SQL Server Management Studio中查看记录 172
7.1.1 选择前1000行 172
7.1.2 返回前几条记录 173
7.2 在SQL Server Management Studio中插入记录 173
7.3 用Insert语句插入记录 175
7.3.1 基本语法 175
7.3.2 参数说明 175
7.3.3 简单地插入语句 176
7.3.4 按表中不同字段顺序插入记录 176
7.3.5 插入值少于字段数的记录 177
7.3.6 在标识列字段里插入字段内容 177
7.3.7 从数据表中查询记录并插入到另一个表中 177
7.3.8 从数据表中查询部分字段记录并插入到另一个表中 178
7.3.9 从数据表中查询记录、插入其他表并为字段添加固定内容 178
7.3.10 在Insert语句中使用exec子句 179
7.3.11 在数据中只插入默认值 179
7.4 插入记录的注意事项 179
7.5 用UPDATE语句更新记录 180
7.5.1 基本语法 180
7.5.2 参数说明 180
7.5.3 简单的更新语句 182
7.5.4 使用计算值更新记录 182
7.5.5 引用其他表里的字段值更新记录 182
7.5.6 使用TOP子句更新记录 182
7.6 在SQL SERVER MANAGEMENT STUDIO中删除记录 183
7.7 用DELETE语句删除记录 183
7.7.1 基本语法 183
7.7.2 参数说明 184
7.7.3 简单的删除语句 184
7.7.4 删除多条记录 185
7.7.5 引用其他表里的字段值来删除记录 185
7.8 用TRUNCATE TABLE语句删除记录 185
7.9 用SELECT语句进行查询 186
7.10 用SELECT子句设定查询内容 186
7.10.1 基本语法 186
7.10.2 参数说明 187
7.10.3 查询表中所有列 187
7.10.4 查询表中某几列 188
7.10.5 为查询添加计算列 188
7.10.6 查看最前记录 189
7.10.7 查看不重复记录 190
7.10.8 查询表中的标识列或GUID列 191
7.11 用FROM子句指定查询哪些表 191
7.11.1 基本语法 191
7.11.2 参数说明 192
7.11.3 简单的FROM子句 193
7.11.4 从两个表中联合查询记录 193
7.11.5 从多个表中联合查询记录 195
7.11.6 JOIN的其他类型 195
7.11.7 使用表别名 197
7.11.8 表JOIN自身 198
7.12 用WHERE子句设定查询条件 198
7.12.1 基本语法 198
7.12.2 参数说明 199
7.12.3 单个查询条件 200
7.12.4 设置多个查询条件 200
7.12.5 在查询条件里使用函数 201
7.12.6 查询两个条件之间的记录 201
7.12.7 查询字段内容为Null的记录 201
7.12.8 将结果集作为查询条件 202
7.12.9 模糊查询 202
7.12.10 在模糊查询中查询含有通配符的文本 204
7.12.11 使用EXISTS关键字 204
7.12.12 使用ALL、ANY和SOME关键字 205
7.13 使用Order by子句排序 206
7.13.1 基本语法 206
7.13.2 参数说明 206
7.13.3 按一个字段排序 207
7.13.4 按多个字段排序 207
7.14 使用Group by子句分组 207
7.14.1 基本语法 207
7.14.2 参数说明 207
7.14.3 Group by的基本用法 208
7.14.4 在Group by中使用表达式 208
7.14.5 使用with cube对所有字段进行汇总 209
7.14.6 使用with rollup对第一个字段进行汇总 210
7.14.7 使用Group by all对所有数据分组 210
7.15 使用Having子句在分组中设置查询条件 211
7.15.1 基本语法 211
7.15.2 使用Having对分组设置查询条件 212
7.16 使用Compute子句归类 212
7.16.1 基本语法 212
7.16.2 参数说明 213
7.16.3 使用Compute归类 213
7.16.4 使用Compute by归类 214
7.17 使用Union子句合并多个查询结果 214
7.17.1 基本语法 215
7.17.2 参数说明 215
7.17.3 使用Union All合并两个查询结果集 215
7.17.4 使用Union合并两个查询结果集 216
7.17.5 使用Union加入临时数据 216
7.17.6 在Union的结果集里排序 216
7.17.7 在Union的结果集里分组 217
7.18 使用Select into子句为查询结果建立新表 217
7.18.1 基本语法 217
7.18.2 使用Select into创建一个新表 217
7.18.3 在Select into中设置复杂的查询条件 218
7.18.4 使用Select into复制表结构 218
7.19 在不同的数据库中查询记录 218
7.20 Null字段的处理方法 219
7.20.1 使用Null时要注意的事项 219
7.20.2 检查字段内容是否为Null 219
7.20.3 使用ISNULL函数替换Null值 220
7.21 OUTPUT和WRITE子句 220
7.21.1 OUTPUT子句 220
7.21.2 WRITE子句 221
7.22 小结 222
第4部分 数据库管理篇
第8章 T-SQL程序 224
8.1 T-SQL概述 224
8.1.1 什么是T-SQL 224
8.1.2 T-SQL的语法约定 224
8.2 数据库对象的引用方法 225
8.2.1 引用数据库对象的方法 225
8.2.2 架构 226
8.2.3 创建自定义架构 227
8.3 T-SQL中的批处理 227
8.3.1 一次执行多个T-SQL语句 228
8.3.2 使用GO语句分隔多个批 228
8.4 T-SQL中的注释 229
8.4.1 --注释 229
8.4.2 /*……*/注释 229
8.5 T-SQL数据类型及转换 230
8.5.1 使用Cast转换数据类型 230
8.5.2 使用Convert转换数据类型 231
8.5.3 隐式数据类型转换 232
8.5.4 数据类型转换时的注意事项 233
8.6 兼容级别设置 233
8.6.1 语法 233
8.6.2 使用SQL Server Management Studio更改兼容级别 234
8.6.3 数据库兼容的注意事项 235
8.6.4 兼容级别导致的影响 235
8.6.5 兼容级别示例 237
8.6.6 兼容级别对ORDER BY的影响示例 237
8.7 T-SQL运算符 240
8.7.1 算术运算符 240
8.7.2 赋值运算符 240
8.7.3 位运算符 240
8.7.4 比较运算符 240
8.7.5 逻辑运算符 241
8.7.6 字符串串联运算符 241
8.7.7 一元运算符 241
8.7.8 复合运算符 242
8.7.9 运算符的优先级 243
8.8 T-SQL中的常量 243
8.8.1 字符串常量 243
8.8.2 Unicode常量 243
8.8.3 二进制常量 244
8.8.4 bit常量 244
8.8.5 datetime常量 244
8.8.6 integer常量 244
8.8.7 decimal常量 245
8.8.8 float和real常量 245
8.8.9 money常量 245
8.8.10 uniqueidentifier常量 245
8.8.11 在T-SQL中使用常量 245
8.9 T-SQL中的变量 246
8.9.1 局部变量 246
8.9.2 全局变量 248
8.10 T-SQL的流程控制 250
8.10.1 Begin…End语句 250
8.10.2 If…Else语句 251
8.10.3 While语句 252
8.10.4 Case语句 254
8.10.5 Goto语句 256
8.10.6 Waitfor语句 257
8.10.7 Return语句 258
8.10.8 Try…Catch语句 258
8.10.9 Execute语句 259
8.11 Convert函数 260
8.11.1 语法 261
8.11.2 二进制与字符十六进制转换示例 261
8.12 日期和时间功能 262
8.12.1 语法 262
8.12.2 ISO周-日示例 263
8.12.3 日期功能的注意事项 263
8.13 GROUPING SETS分组 264
8.13.1 语法 264
8.13.2 注意事项 264
8.13.3 GROUPING SETS分组示例 265
8.14 T-SQL的常用函数 265
8.14.1 聚合函数 265
8.14.2 日期和时间函数 266
8.14.3 数学函数 266
8.14.4 字符串函数 267
8.14.5 文本和图像函数 268
8.14.6 配置函数 268
8.14.7 游标函数 268
8.14.8 元数据函数 268
8.14.9 行集函数 269
8.14.10 安全函数 269
8.14.11 系统统计函数 270
8.14.12 其他函数 270
8.15 不应使用的关键字 272
8.16 小结 273
第9章 视图 274
9.1 视图简介 274
9.2 创建视图 275
9.2.1 在SQL SERVER MANAGEMENT STUDIO中创建视图 276
9.2.2 使用CREATE VIEW语句创建视图 277
9.3 查看与修改视图 280
9.3.1 查看视图 280
9.3.2 在SQL SERVER MANAGEMENT STUDIO中修改视图 281
9.3.3 使用ALTER VIEW语句修改视图 281
9.4 加密视图 282
9.5 限制视图所用的表或视图不能更改设计和删除 283
9.6 检查视图的数据变动 285
9.7 编辑视图中的记录 285
9.7.1 编辑视图中的记录的限制 285
9.7.2 在SQL SERVER MANAGEMENT STUDIO中操作视图记录 286
9.7.3 使用INSERT,UPDATE和DELETE语句操作视图记录 286
9.8 删除视图 287
9.8.1 在Management Studio中删除视图 287
9.8.2 使用Drop view语句删除视图 287
9.9 为视图重命名 287
9.10 小结 288
第10章 存储过程 289
10.1 存储过程简介 289
10.1.1 存储过程的概念 289
10.1.2 使用存储过程的优点 289
10.1.3 存储过程的分类 290
10.2 创建存储过程 290
10.2.1 使用Create procedure语句创建存储过程 290
10.2.2 在SQL Server Management Studio中建立存储过程 292
10.3 修改存储过程 293
10.3.1 使用Alter procedure语句修改存储过程 294
10.3.2 在SQL Server Management Studio中修改存储过程 294
10.3.3 修改存储过程名 295
10.4 执行存储过程 295
10.5 设计存储过程的高级技巧 298
10.5.1 设计存储过程时的注意事项 298
10.5.2 参数传递的方式 299
10.5.3 存储过程的返回值 300
10.5.4 不显示影响行数的通知 302
10.5.5 临时存储过程 303
10.5.6 嵌套调用存储过程 303
10.5.7 查看存储过程的依赖关系 304
10.5.8 加密存储过程 305
10.5.9 查看存储过程的源代码 305
10.5.10 设计存储过程组 306
10.6 删除存储过程 307
10.6.1 使用Drop procedure语句删除存储过程 307
10.6.2 在SQL Server Management Studio中删除存储过程 307
10.7 常用的系统存储过程 308
10.7.1 sp_help:查看对象信息 308
10.7.2 sp_helpdb:查看数据库信息 309
10.7.3 sp_helpfile:查看数据库文件信息 309
10.7.4 sp_helpfilegroup:查看文件组信息 309
10.7.5 sp_helpindex:查看索引信息 309
10.7.6 sp_helpsort:查看排序及字符集信息 309
10.7.7 sp_helpstats:查看列和索引的统计信息 309
10.7.8 sp_helptext:查看对象内容 310
10.7.9 sp_helptrigger:查看触发器信息 310
10.7.10 sp_lock:查看锁信息 310
10.7.11 sp_monitor:查看系统统计信息 310
10.7.12 sp_rename:修改对象名 310
10.7.13 sp_renamedb:修改数据库名 311
10.7.14 sp_who:查看用户和进程信息 311
10.7.15 sp_columns:查看列信息 311
10.7.16 sp_databases:查看数据库信息 311
10.7.17 sp_fkeys:查看外键信息 311
10.7.18 sp_pkeys:查看主键信息 312
10.7.19 sp_server_info:查看SQL Server信息 312
10.7.20 sp_tables:查看表或视图信息 312
10.7.21 sp_stored_procedures:查看存储过程信息 312
10.8 CLR存储过程 313
10.8.1 创建CLR存储过程的步骤 313
10.8.2 开启CLR支持 313
10.8.3 编写CLR存储过程内容 313
10.8.4 将CLR存储过程编译成DLL文件 316
10.8.5 注册程序集 316
10.8.6 创建引用程序集的存储过程 317
10.8.7 执行CLR存储过程 317
10.9 小结 318
第11章 触发器 319
11.1 触发器简介 319
11.1.1 触发器的概念和作用 319
11.1.2 触发器的种类 320
11.2 DML触发器的分类 320
11.3 DML触发器的工作原理 320
11.3.1 AFTER触发器的工作原理 321
11.3.2 INSTEAD OF触发器的工作原理 321
11.4 设计DML触发器的注意事项及技巧 321
11.4.1 设计触发器的限制 321
11.4.2 如何用触发器取得字段修改前和修改后的数据 322
11.4.3 使用DML触发器的注意事项 322
11.5 设计AFTER触发器 323
11.5.1 设计简单的AFTER触发器 323
11.5.2 测试触发器功能 325
11.5.3 建立触发器的SQL语句 326
11.6 设置AFTER触发器的激活顺序 328
11.7 触发器的嵌套 330
11.8 触发器的递归 333
11.9 设计INSTEAD OF触发器 333
11.9.1 INSTEAD OF触发器的使用范围 334
11.9.2 设计简单的INSTEAD OF触发器 334
11.10 查看DML触发器 335
11.10.1 在SQL SERVER MANAGEMENT STUDIO中查看触发器 335
11.10.2 使用系统存储过程查看触发器 336
11.11 修改DML触发器 337
11.12 删除DML触发器 338
11.13 禁用与启用DML触发器 338
11.14 DDL触发器 339
11.15 设计DDL触发器 339
11.15.1 建立DDL触发器的语句 339
11.15.2 测试触发器功能 342
11.16 查看与修改DDL触发器 344
11.17 触发器的应用技巧 345
11.17.1 如何知道触发器修改了多少条记录 345
11.17.2 如何知道插入记录的自动编号是多少 346
11.17.3 如何知道某个字段是否被修改 346
11.17.4 如何返回错误信息 348
11.18 小结 349
第12章 索引 350
12.1 索引简介 350
12.2 索引的结构 350
12.3 索引的分类 351
12.3.1 聚集索引与非聚集索引 351
12.3.2 唯一索引 351
12.3.3 复合索引与包含性列索引 352
12.3.4 视图索引 352
12.3.5 全文索引 352
12.3.6 XML索引 352
12.4 系统自动建立的索引 353
12.4.1 主键字段 353
12.4.2 Unique字段 353
12.5 建立索引的注意事项 354
12.6 在SQL Server Management Studio中创建索引 354
12.7 使用Create index语句创建索引 357
12.7.1 基本语法 357
12.7.2 参数说明 358
12.7.3 创建简单的索引 358
12.7.4 创建简单的复合索引 359
12.7.5 创建唯一索引 359
12.7.6 创建聚集索引 359
12.7.7 创建降序的非聚集索引 359
12.7.8 创建包含性列索引 360
12.7.9 创建索引并指定其所在的文件组 360
12.7.10 创建索引并设置填充因子 360
12.7.11 创建索引并设置填充索引 360
12.7.12 创建复杂的索引 361
12.8 查看与修改索引 361
12.8.1 在SQL Server Management Studio中查看与修改索引 361
12.8.2 使用sp_helpindex查看索引 363
12.8.3 使用sys.indexes视图查看索引信息 363
12.8.4 使用Alter index语句修改索引 364
12.9 重新生成和重新组织索引 365
12.9.1 在SQL SERVER MANAGEMENT STUDIO中重新生成索引 366
12.9.2 在SQL SERVER MANAGEMENT STUDIO中重新组织索引 366
12.9.3 使用REBUILD参数重新生成索引 367
12.9.4 使用REORGANIZE参数重新组织索引 368
12.9.5 使用SQL SERVER MANAGEMENT STUDIO查看索引碎片 368
12.9.6 使用函数SYS.DM_DB_INDEX_PHYSICAL_STATS查看索引碎片 368
12.10 禁用索引 370
12.10.1 在SQL SERVER MANAGEMENT STUDIO中禁用索引 370
12.10.2 使用DISABLE参数禁用索引 371
12.11 重命名索引 371
12.12 删除索引 371
12.12.1 删除索引的注意事项 371
12.12.2 在SQL SERVER MANAGEMENT STUDIO中删除索引 372
12.12.3 使用DROP INDEX语句删除索引 372
12.13 索引视图 372
12.13.1 索引视图简介 372
12.13.2 创建索引视图 372
12.14 小结 373
第13章 用户定义数据类型和函数 374
13.1 用户定义数据类型 374
13.1.1 创建用户定义数据类型 374
13.1.2 使用用户定义数据类型 376
13.1.3 删除用户定义数据类型 377
13.2 用户定义函数 378
13.2.1 用户定义函数与存储过程的比较 378
13.2.2 用户定义函数类型 379
13.2.3 创建标量值函数 379
13.2.4 创建内联表值函数 381
13.2.5 创建多语句表值函数 382
13.2.6 在SQL Server Management Studio里创建用户定义函数 384
13.2.7 查看与修改用户定义函数 385
13.2.8 使用用户定义函数 385
13.2.9 删除用户定义函数 387
13.3 小结 387
第14章 全文索引 388
14.1 全文索引简介 388
14.2 全文索引常用术语 388
14.3 全文索引的体系结构 389
14.4 全文目录管理 390
14.4.1 创建全文目录 390
14.4.2 查看与修改全文目录 391
14.4.3 删除全文目录 392
14.5 全文索引管理 392
14.5.1 创建全文索引的注意事项 392
14.5.2 创建全文索引 392
14.5.3 查看与修改全文索引 396
14.5.4 启用和禁用全文索引 397
14.5.5 删除全文索引 397
14.6 填充全文索引 397
14.6.1 填充全文索引的方式 398
14.6.2 填充全文索引 398
14.6.3 定时填充全文索引 398
14.7 使用全文搜索查询数据 400
14.7.1 使用CONTAINS搜索 401
14.7.2 使用FREETEXT搜索 405
14.7.3 使用CONTAINSTABLE搜索 406
14.7.4 使用FREETEXTTABLE搜索 408
14.7.5 搜索image字段 408
14.8 与全文索引相关的T-SQL语句 409
14.8.1 创建全文目录 409
14.8.2 更改全文目录属性 410
14.8.3 创建全文索引 410
14.8.4 更改全文索引属性 411
14.8.5 删除全文索引 412
14.8.6 删除全文目录 412
14.9 小结 413
第15章 游标 414
15.1 游标简介 414
15.2 游标的基本操作 415
15.2.1 定义游标 415
15.2.2 打开游标 416
15.2.3 读取游标 417
15.2.4 关闭和删除游标 417
15.3 游标的运用 418
15.3.1 用游标处理数据 418
15.3.2 全局游标与本地游标 421
15.3.3 游标的嵌套 422
15.3.4 使用游标变量 423
15.3.5 在存储过程中使用游标参数 427
15.4 在游标中常用的变量、函数和存储过程 428
15.4.1 使用系统全局变量查看游标信息 428
15.4.2 使用函数查看游标状态 429
15.4.3 使用系统存储过程查看游标属性 430
15.5 小结 434
第16章 事务与锁 436
16.1 事务简介 436
16.1.1 事务的特性 436
16.1.2 事务的工作流程 437
16.1.3 执行事务的注意事项 438
16.1.4 事务的工作原理 438
16.1.5 事务执行的模式 439
16.2 编写事务 439
16.2.1 编写事务的原则 439
16.2.2 编写事务 440
16.3 嵌套事务 442
16.3.1 使用嵌套事务的注意事项 442
16.3.2 嵌套事务示例 443
16.3.3 获取嵌套的层次 445
16.4 事务保存点 447
16.5 事务的隔离级别 449
16.6 锁简介 449
16.7 锁的对象和模式 450
16.8 死锁 451
16.9 小结 452
第5部分 SQL SERVER高级技术篇
第17章 数据库备份与恢复 454
17.1 备份与恢复介绍 454
17.1.1 备份类型 454
17.1.2 恢复模式 455
17.1.3 如何备份数据库 456
17.1.4 数据库备份到哪里 457
17.2 在SQL SERVER MANAGEMENT STUDIO中备份数据库 458
17.3 使用T-SQL语言备份数据库 461
17.3.1 完整备份与差异备份 461
17.3.2 备份文件和文件组 464
17.3.3 事务日志备份 465
17.4 备份设备管理 466
17.4.1 查看备份设备的内容 466
17.4.2 通过备份设备来备份数据库 467
17.4.3 验证备份的内容 468
17.4.4 删除备份设备 469
17.5 在SQL SERVER MANAGEMENT STUDIO中还原数据库 469
17.5.1 还原数据库的方式 470
17.5.2 还原数据库前要注意的事项 470
17.5.3 还原数据库备份 470
17.5.4 还原文件和文件组备份 472
17.5.5 使用现有的备份创建新的数据库 473
17.6 用T-SQL语言还原数据库 474
17.6.1 还原完整备份 474
17.6.2 还原差异备份 476
17.6.3 还原事务日志备份 477
17.6.4 还原文件和文件组备份 477
17.6.5 将数据库还原到某个时间点 478
17.6.6 将文件还原到新位置上 478
17.7 建立自动备份的维护计划 479
17.8 小结 481
第18章 系统数据库与用户数据库 483
18.1 SQL SERVER 2012系统数据库介绍 483
18.1.1 MASTER系统数据库 483
18.1.2 TEMPDB临时数据库 483
18.1.3 MODEL模板数据库 484
18.1.4 MSDB系统数据库 484
18.1.5 RESOURCE系统数据库 485
18.2 系统表与视图介绍 485
18.2.1 MSDB数据库里的表 486
18.2.2 系统视图 488
18.2.3 系统函数 489
18.3 规划数据库 489
18.3.1 数据库文件 489
18.3.2 文件组 490
18.3.3 计算数据库文件的大小 491
18.4 小结 492
第19章 SQL SERVER 2012的安全 493
19.1 SQL SERVER 2012的身份验证模式 493
19.2 访问权限 495
19.3 用户 495
19.3.1 添加用户 495
19.3.2 使用用户登录 496
19.3.3 为用户设置权限 497
19.4 角色 501
19.4.1 角色简介 501
19.4.2 服务器角色 501
19.4.3 将用户设为服务器角色成员 502
19.4.4 数据库角色 502
19.4.5 将用户设为数据库角色成员 503
19.4.6 创建用户自定义数据库角色 504
19.4.7 应用程序角色 504
19.4.8 创建应用程序角色 504
19.4.9 使用应用程序角色 505
19.5 架构 506
19.6 确保数据库服务器的安全 507
19.7 小结 509
第20章 SQL SERVER的自动化管理 510
20.1 SQL SERVER代理 510
20.1.1 SQL SERVER代理简介 510
20.1.2 启动和停止SQL SERVER代理 511
20.1.3 SQL SERVER代理的设置 511
20.1.4 指定SQL SERVER代理的登录账户 514
20.2 操作员 515
20.3 作业 516
20.3.1 新建作业 516
20.3.2 手动执行作业 519
20.3.3 调度作业 520
20.3.4 查看历史记录 521
20.3.5 删除、禁用与启用作业 521
20.4 警报与通知 522
20.4.1 新建警报 522
20.4.2 修改警报 524
20.4.3 启动、禁用与删除警报 524
20.4.4 通知 524
20.5 维护计划 525
20.6 错误日志 527
20.7 小结 528
第21章 SQL Server的性能工具 529
21.1 SQL Server Profiler 529
21.1.1 SQL Server Profiler简介 529
21.1.2 新建跟踪 530
21.1.3 存储事件记录 531
21.1.4 载入事件记录 531
21.1.5 新建跟踪模板 531
21.1.6 值得注意的功能 532
21.2 数据库引擎优化顾问 533
21.2.1 数据库引擎优化顾问介绍 533
21.2.2 使用数据库引擎优化顾问 533
21.3 小结 534
第22章 数据导入与导出 535
22.1 SQL Server导入/导出向导 535
22.2 数据导入/导出 535
22.3 数据导入/导出时的数据类型转换 538
22.4 在不同数据源与目标之间传输数据 538
22.5 小结 540
第23章 Analysis Services 541
23.1 Analysis Services简介 541
23.1.1 数据仓库 541
23.1.2 数据仓库的结构 542
23.1.3 创建数据仓库的步骤 543
23.1.4 联机分析处理(OLAP) 543
23.1.5 数据挖掘 544
23.2 定义数据源 544
23.3 定义数据源视图 546
23.4 定义多维数据集 548
23.5 部署Analysis Services项目 551
23.6 查看多维数据集 553
23.7 使用客户端软件查看多维数据 554
23.8 小结 557
第24章 REPORTING SERVICES 558
24.1 创建报表服务器项目 558
24.2 创建数据源 559
24.3 创建报表 560
24.4 发布报表 563
24.5 自定义报表信息 564
24.6 小结 568
第25章 SQL SERVER INTEGRATION SERVICE 569
25.1 SSIS简介 569
25.1.1 SSIS概述 569
25.1.2 SQL SERVER 2012中SSIS的改进 570
25.2 SSIS结构 571
25.2.1 SSIS的用途 571
25.2.2 SSIS包的组成 572
25.3 SSIS的开发 577
25.3.1 设计和实现包 577
25.3.2 部署包 582
25.4 小结 587
第26章 SQL SERVER 2012安全新特性——包含数据库 588
26.1 部分包含数据库的概念及术语 588
26.1.1 SQL SERVER 2012使其数据库独立于实例的方法 588
26.1.2 部分包含数据库的概念 588
26.1.3 部分包含数据库的术语 588
26.1.4 包含 589
26.1.5 部分包含数据库 590
26.1.6 用户使用部分包含数据库的好处 590
26.1.7 数据库移动 590
26.1.8 初始数据库开发 590
26.1.9 数据库管理 591
26.1.10 限制 591
26.1.11 标识数据库包含关系 591
26.2 SQL SERVER 2012部分包含数据库应用实例 591
26.2.1 启用功能 591
26.2.2 新增用户 593
26.2.3 登录 594
26.3 小结 595
第27章 SQL Server 2012开发新特性——文件表(FileTable) 596
27.1 文件表的概述与定义 596
27.2 文件表的功能优点 596
27.2.1 文件表功能 596
27.2.2 文件表特性 597
27.2.3 文件表优点 597
27.3 使用文件表的注意事项 598
27.3.1 管理注意事项 598
27.3.2 FileTable不支持内存映射文件 598
27.4 启用文件表的先决条件 598
27.4.1 在实例级别启用FILESTREAM 598
27.4.2 在数据库级别进行的准备 598
27.5 创建、更改和删除文件表 601
27.5.1 创建文件表 601
27.5.2 更改文件表 602
27.5.3 删除文件表 603
27.6 将文件加载到文件表中 603
27.6.1 将文件加载到文件表中的方法 603
27.6.2 大容量加载文件表 604
27.7 在文件表中使用目录和路径 604
27.7.1 在T-SQL中使用文件表目录 604
27.7.2 使用相对路径编写可移植代码 605
27.7.3 文件表中存储项的完整路径 605
27.8 使用文件I/O API访问文件表 605
27.8.1 开始使用文件I/O API访问文件表 605
27.8.2 在文件表中创建文件和目录 606
27.8.3 在文件表中读取、写入、更新和删除目录 606
27.9 文件表应用实例 607
27.9.1 启用文件表 607
27.9.2 配置文件组 608
27.9.4 操作文件表 612
27.9.5 备份文件表(FileTable) 613
27.10 小结 614
图书封面
评论、评分、阅读与下载