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