欢迎光临
免费的PDF电子书下载网站

SQL Server 2012王者归来——基础、安全、开发及性能优化(配光盘) PDF下载

编辑推荐

资深程序员10年开发经验的总结,深入剖析SQL Server 2012的精髓
全面涵盖SQL Server 2012数据库基础、安全、管理、开发及性能优化
视频教学:专门录制了18小时高清配套教学视频,便于读者更加高效、直观地学习
内容全面:从基础的SQL语法,到复杂的性能优化,涵盖了SQL Server 2012大部分功能
内容新颖:紧跟SQL Server数据库技术的**趋势,总结了大量的全新观点和应用
示例丰富:提供了670个精巧示例和操作,并用T-SQL语句和可视化操作两种方式实现
由浅入深:从基本的数据库概念和操作开始,逐步深入到数据库安全、开发和性能优化
讲解详细:对每个知识点都从概念、语法、示例、技巧和应用等多个角度进行分析
对比分析:对SQL Server 2005/2008/2012等几个*常用版本的不同特性进行了对比分析

推荐阅读:

Oracle数据库管理从入门到精通+Oracle PL/SQL从入门到精通(套装全2册)

《Oracle数据库管理从入门到精通》 (一本书彻底搞定Oracle数据库管理与维护)

Oracle PL/SQL从入门到精通》PL/SQL经典畅销书

《NoSQL数据库技术实战》 (腾讯工程师力作

《SQL Server入门很简单》 (数据库畅销书作者力作,10小时视频)

《我和数学有约——趣味数学及算法解析》

程序员数学思维修炼(趣味解读)》(专门为程序员而写,生动有趣)

 ;

内容简介

《SQL Server 2012王者归来:基础、安全、开发及性能优化(配光盘)》由浅入深,全面细致地讲述了SQL Server 2012的功能特性和开发应用。从SQL Server数据库基础到数据库安全,再到SQL Server开发及数据库性能优化,涵盖SQL Server 2012的所有重要知识点。本书讲解时结合了大量实例,便于读者通过实践更加深刻地理解所学知识。另外,作者专门为本书录制了18小时高清配套教学视频,与本书实例源文件一起收录于配书DVD光盘中。除此外,光盘中还赠送了22小时SQL Server学习视频和3部《程序员面试宝典》电子书,非常超值。
  《SQL Server 2012王者归来:基础、安全、开发及性能优化(配光盘)》共22章,分4篇。第1篇SQL Server基础,介绍SQL Server的发展历史、架构、安装及工具等,还介绍了T-SQL基础、数据库基本操作和SQL Server 2012的特色;第2篇数据安全,介绍SQL Server安全、数据文件安全与灾难恢复、复制;第3篇SQL Server开发,介绍数据库设计、SQL Server与CLR集成、在SQL Server中使用XML、使用ADO.NET、使用SMO编程管理数据库对象、高级T-SQL语法、Service Broker——异步应用程序平台、空间数据类型、跨实例链接、数据库管理自动化及商务智能;第4篇数据库性能优化,介绍数据存储与索引、数据查询、事务处理和数据库系统调优工具。

作者简介

秦婧 东北大学计算机软件与理论专业博士研究生,.NET高级讲师。从事软件开发和教学工作十年有余。特别热衷于研究编程方法和教学方法。擅长C#语言,并对OracleSQL ServerMySQL等数据库技术有透彻和深入的理解。负责开发过多个大型项目,讲授过C#语言、数据库技术和Java语言等课程。编写并出版了《Oracle从入门到精通》、《SQL Server入门很简单》、《零点起飞学MySQL》等多部数据库技术畅销图书。

SQL Server 2012王者归来——基础、安全、开发及性能优化(配光盘) PDF下载

目录

第1篇 SQL Server基础
第1章 SQL Server 2012概述( 教学视频:44分钟)
1.1 SQL Server 2012简介 2
1.1.1 SQL Server发展历史 2
1.1.2 SQL Server 2012的特点 4
1.2 SQL Server 2012架构简介 5
1.2.1 SQL Server 2012系统架构 5
1.2.2 SQL Server 2012的协议 6
1.2.3 SQL Server 2012的查询 7
1.2.4 SQL Server 2012的数据操作 7
1.3 SQL Server 2012的安装 9
1.3.1 SQL Server 2012的版本选择 9
1.3.2 SQL Server 2012的安装环境 11
1.3.3 安装配置SQL Server 2012 11
1.4 使用SQL Server Management Studio 15
1.4.1 SQL Server Management Studio简介 15
1.4.2 使用SSMS打开表 16
1.4.3 在SSMS中使用T-SQL 17
1.4.4 使用SSMS管理服务器和脚本 19
1.5 SQL Server 2012的其他工具 20
1.5.1 使用配置管理器配置数据库 20
1.5.2 使用SQL Server Profiler跟踪数据库 24
1.5.3 使用SQL Server 2012联机丛书 25
1.6 SQL Server 2012系统数据库简介 26
1.6.1 系统数据库master——系统表的管理 26
1.6.2 系统数据库model——数据库的模板 27
1.6.3 系统数据库msdb——为SQL Server提供队列和可靠消息传递
1.6.4 系统数据库tempdb——临时工作区 28
1.7 示例数据库 29
1.7.1 安装示例数据库 29
1.7.2 示例数据库AdventureWorks2012 29
1.7.3 示例数据库AdventureWorksDW2012 30
1.8 小结 31
第2章 T-SQL基础( 教学视频:70分钟)
2.1 T-SQL简介 32
2.1.1 SQL背景 32
2.1.2 SQL语言分类 32
2.1.3 语法约定 33
2.2 基本的SQL语句 33
2.2.1 使用SELECT查询数据 34
2.2.2 使用INSERT插入数据 35
2.2.3 使用UPDATE更新数据 36
2.2.4 使用DELETE删除数据 37
2.3 联接查询 38
2.3.1 内联接(INNER JOIN) 39
2.3.2 外联接(OUTER JOIN) 40
2.3.3 完全联接(FULL JOIN) 41
2.3.4 交叉联接(CROSS JOIN) 41
2.3.5 联接的替代写法 41
2.3.6 联合(UNION) 42
2.4 SQL数据类型 43
2.4.1 精确数字类型 44
2.4.2 近似数字类型 44
2.4.3 字符串类型 45
2.4.4 Unicode字符串类型 45
2.4.5 二进制串类型 46
2.4.6 日期和时间类型 46
2.4.7 其他数据类型 50
2.5 SQL变量 51
2.6 操作符 52
2.7 流程控制 54
2.7.1 批处理 54
2.7.2 语句块 56
2.7.3 条件语句 56
2.7.4 循环语句 57
2.8 函数 58
2.8.1 函数简介 59
2.8.2 聚合函数 60
2.8.3 日期和时间函数 61
2.8.4 数学函数 62
2.8.5 字符串函数 64
2.8.6 其他常用函数 66
2.9 小结 67
第3章 数据库基本操作( 教学视频:76分钟)
3.1 数据库操作 68
3.1.1 创建数据库 68
3.1.2 修改数据库 70
3.1.3 删除数据库 72
3.2 表操作 72
3.2.1 表简介 72
3.2.2 使用T-SQL创建表 73
3.2.3 使用SSMS创建表 75
3.2.4 创建临时表 76
3.2.5 使用T-SQL修改表 77
3.2.6 使用SSMS修改表 80
3.2.7 删除表 81
3.3 数据完整性 83
3.3.1 实体完整性 83
3.3.2 域完整性 84
3.3.3 引用完整性 85
3.3.4 用户定义完整性 85
3.4 约束操作 85
3.4.1 约束简介 86
3.4.2 NOT NULL约束 86
3.4.3 DEFAULT约束 87
3.4.4 UNIQUE约束 87
3.4.5 PRIMARY KEY主键约束 90
3.4.6 FOREIGN KEY外键约束 92
3.4.7 CHECK约束 97
3.4.8 规则 99
3.4.9 默认值 101
3.4.10 禁用约束 102
3.5 视图 104
3.5.1 视图简介 104
3.5.2 使用T-SQL创建视图 104
3.5.3 使用SSMS创建视图 106
3.5.4 修改视图 108
3.5.5 删除视图 109
3.6 存储过程 109
3.6.1 存储过程简介 109
3.6.2 创建存储过程 110
3.6.3 修改存储过程 113
3.6.4 删除存储过程 113
3.6.5 存储过程返回数据 114
3.7 用户定义函数 115
3.7.1 用户定义函数简介 115
3.7.2 创建标量值函数 116
3.7.3 创建表值函数 118
3.7.4 修改用户定义函数 119
3.7.5 删除用户定义函数 120
3.8 触发器 120
3.8.1 触发器简介 120
3.8.2 创建触发器 121
3.8.3 修改和删除触发器 124
3.8.4 启用和禁用触发器 125
3.9 命名与编码规范 126
3.9.1 命名规范 126
3.9.2 SQL编码规范 127
3.10 小结 127
第4章 SQL Server 2012的特色( 教学视频:36分钟)
4.1 SSMS增强 128
4.1.1 键盘快捷方式增强 128
4.1.2 查询编辑器增强 130
4.2 新增数据类型和视图 131
4.2.1 圆弧类型的增强 131
4.2.2 geography类型的增强功能 132
4.2.3 新添加或修改的视图 132
4.3 新的开发特性 133
4.3.1 列存储索引 133
4.3.2 文件表 134
4.3.3 其他开发特性 139
4.4 商务智能增强 140
4.4.1 集成服务增强 140
4.4.2 分析服务增强 141
4.4.3 报表服务增强 142
4.4.4 Office集成 144
4.4.5 数据质量分析 145
4.5 小结 145
第2篇 数据库安全
第5章 SQL Server 2012安全( 教学视频:75分钟)
5.1 新安全机制概论 148
5.1.1 平台与网络安全性 148
5.1.2 主体与数据库对象安全性 151
5.1.3 应用程序安全性 151
5.2 账号管理 152
5.2.1 安全验证方式 152
5.2.2 密码策略 153
5.2.3 高级安全性 154
5.3 登录名管理 155
5.3.1 使用T-SQL创建登录名 155
5.3.2 使用SSMS创建登录名 157
5.3.3 使用T-SQL修改登录名 159
5.3.4 使用SSMS修改登录名 161
5.3.5 删除登录名 162
5.4 用户管理 163
5.4.1 使用T-SQL创建用户 163
5.4.2 使用SSMS创建用户 164
5.4.3 修改用户 166
5.4.4 删除用户 167
5.5 架构管理 167
5.5.1 架构简介 167
5.5.2 使用T-SQL创建架构 168
5.5.3 使用SSMS创建架构 169
5.5.4 修改架构 170
5.5.5 删除架构 171
5.6 用户权限 172
5.6.1 权限简介 172
5.6.2 使用GRANT分配权限 175
5.6.3 使用DENY显式拒绝访问对象 177
5.6.4 使用REVOKE撤销权限 178
5.6.5 语句执行权限 178
5.6.6 使用SSMS管理用户权限 180
5.7 角色管理 186
5.7.1 角色简介 186
5.7.2 服务器角色 187
5.7.3 固定数据库角色 189
5.7.4 用户定义数据库角色 191
5.7.5 应用程序角色 195
5.8 数据加密 198
5.8.1 数据加密简介 199
5.8.2 数据的加密和解密 200
5.8.3 使用证书加密和解密 203
5.8.4 使用透明数据加密 204
5.9 SQL注入攻击 205
5.9.1 SQL注入攻击原理 206
5.9.2 如何防范SQL注入攻击 207
5.10 小结 208
第6章 数据文件安全与灾难恢复( 教学视频:60分钟)
6.1 数据文件安全简介 209
6.1.1 业务可持续性 209
6.1.2 SQL Server 2012高可用性技术 210
6.2 数据库的备份与恢复 211
6.2.1 数据库备份简介 211
6.2.2 备份设备 212
6.2.3 数据库备份 214
6.2.4 数据库恢复 217
6.2.5 恢复模式 219
6.3 数据文件的转移 221
6.3.1 分离数据库 221
6.3.2 附加数据库 222
6.4 数据库快照 224
6.4.1 数据库快照原理 224
6.4.2 建立数据库快照 226
6.4.3 管理数据库快照 227
6.5 数据库镜像 228
6.5.1 数据库镜像概论 228
6.5.2 数据库镜像模式 230
6.5.3 使用T-SQL配置数据库镜像 231
6.5.4 使用SSMS配置数据库镜像 235
6.6 日志传送 238
6.6.1 日志传送概述 238
6.6.2 日志传送的服务器角色 239
6.6.3 日志传送的定时作业 240
6.6.4 使用T-SQL配置日志传送 241
6.6.5 使用SSMS配置日志传送 245
6.7 数据库群集 249
6.7.1 群集简介 249
6.7.2 服务器群集配置要求 250
6.7.3 创建Windows故障转移群集 252
6.8 小结 253
第7章 复制( 教学视频:36分钟)
7.1 使用bcp导入导出数据 254
7.1.1 bcp实现大容量复制 254
7.1.2 bcp导出 257
7.1.3 格式化文件 258
7.1.4 bcp导入 262
7.1.5 使用BULK INSERT命令 263
7.1.6 使用OPENROWSET()函数 266
7.2 复制概述 269
7.2.1 复制简介 269
7.2.2 复制类型 271
7.2.3 复制代理 272
7.2.4 订阅简介 273
7.3 复制的工作机制 274
7.3.1 快照复制工作机制 274
7.3.2 事务复制工作机制 275
7.3.3 Oracle发布工作机制 276
7.3.4 合并复制工作机制 277
7.4 配置复制 278
7.4.1 准备用于复制的服务器 278
7.4.2 配置快照发布和分发 279
7.4.3 配置快照订阅 284
7.4.4 配置事务复制和合并复制 286
7.5 管理复制 287
7.5.1 添加项目 287
7.5.2 删除项目 289
7.5.3 复制监视器 289
7.5.4 提高复制性能 290
7.6 小结 291
第3篇 SQL Server开发
第8章 数据库设计( 教学视频:43分钟)
第9章 SQL Server与CLR集成( 教学视频:50分钟)
第10章 在SQL Server中使用XML( 教学视频:62分钟)
第11章 使用ADO.NET( 教学视频:60分钟)
第12章 使用SMO编程管理数据库对象( 教学视频:47分钟)
第13章 高级T-SQL语法( 教学视频:50分钟)
第14章 Service Broker——异步应用程序平台( 教学视频:54分钟)
第15章 空间数据类型( 教学视频:45分钟)
第16章 跨实例链接( 教学视频:22分钟)
第17章 数据库管理自动化( 教学视频:42分钟)
第18章 商务智能( 教学视频:49分钟)
第4篇 数据库性能优化
第19章 数据存储与索引( 教学视频:52分钟)
第20章 数据查询( 教学视频:37分钟)
第21章 事务处理( 教学视频:34分钟)
第22章 数据库系统调优工具( 教学视频:25分钟)
9.7.2 在SQL Server中创建用

前沿

作为全新的企业级信息平台,SQL Server 2012不仅提供了更高级别的企业级稳定性和更灵活而深入的商业智能,同时也提供了多种功能以满足公有云及私有云环境的应用实现与运行。所以很多人称SQL Server 2012为云端的数据库。本书的目的就是教会读者拨开云雾,看清SQL Server 2012的本质。

  SQL Server作为微软在数据库管理系统(DBMS)上的主打产品,经过了多个版本的改进后,在数据处理能力方面具备了良好的性能,从而占领了更加广阔的市场,成为世界三大数据库管理系统之一。作为开发人员和数据管理人员,不会SQL Server就相当于少了一项高级技能。
  为了让更多的人更加系统、深入和透彻地学习SQL Server,我们总结了多年的经验,编写了这本书。通过对本书内容的学习,读者无论对SQL Server数据库应用开发,还是对数据库管理,乃至对数据库性能调优等都会有新的认识和提高。可以说,本书是读者学习SQL Server,了解其新特性,并扩展的SQL Server知识面的绝佳帮手。
  本书讲解由浅入深,首先从最基础的数据库概念和T-SQL语法讲起,便于数据库初学者入门学习。接下来从数据库安全角度讲解了数据库内容的安全和数据文件的安全解决方案,从而加强读者在数据库应用开发中的安全意识。然后进入核心主题,从多个技术方向讲解了SQL Server 2012在开发中的特性和应用。最后进一步深入高级主题,讲解了SQL Server性能优化的相关知识。对于较难掌握的知识点,本书以精巧的示例来说明,清晰 易懂。
  本书涵盖的知识面广,对SQL Server 2012的大部分特性和功能都有所涉及。从最基础的T-SQL语法到SQL Server 2012中新增的高级语法,从数据库基本概念到新增的数据类型,从简单的数据库查询到数据库性能优化,从数据库的创建到数据库的管理,从数据库应用开发到商务智能应用等都有介绍。另外,编者还为本书内容录制了配套高清教学视频,以辅助读者更加高效、直观地学习,从而达到更好的学习效果。
本书特色
  1.观点新颖,紧跟趋势
  在编写本书的过程中,编者查阅了大量国内外的最新技术文章,总结出了大量全新的观点和技术并应用到本书中,使得本书可以紧跟数据库技术趋势,适应技术的最新发展。
  2.内容丰富、涵盖广泛
  本书所讲解的知识和内容主要针对SQL Server 2012版本,对于不推荐使用和过时的语法及功能不作为重点进行讲解,并提示读者不要使用。本书涵盖的知识面广,在围绕SQL Server 2012讲解的基础上,还对SQL Server 2000/2005/2008几个版本中的不同特性进行了对比分析。
  3.由浅入深,循序渐进
  本书的编排采用循序渐进的方式,从最基本的数据库概念和数据库操作开始,逐步深入到数据库安全、开发和性能优化,适合读者系统地学习SQL Server 2012的使用、开发和管理。
  4.示例丰富,实用性强
  本书中使用了500多个规范的示例用于大部分知识点的演示和讲解,便于读者学习和理解。尤其是对于难度较高的知识点,本书使用精巧的示例化繁为简,便于读者掌握。这些示例简洁明了,读者可以按照示例进行实践和演练。书中重点总结了编者多年从事数据库管理和应用开发的经验,对于冷僻的问题基本不做过多介绍。
  5.视频教学,高效直观
  编者专门为本书录制了配套高清教学视频,便于让读者更加轻松、直观地学习,从而提高学习效率。这些视频与本书实例源文件一起收录于配书光盘中。
本书内容安排
  第1篇 SQL Server基础(第1~4章)
  本篇讲述了SQL Server的基础知识,包括SQL Server的发展历史、SQL Server 2012的安装和常用工具、T-SQL语法、数据库对象等。概要性地介绍了SQL Server 2012的改进功能和新特性,为希望了解SQL Server数据库的新手提供一些基础知识。
  第2篇 数据库安全(第5~7章)
  本篇讲述了与SQL Server安全相关的各种知识,包括数据库加密、用户角色权限设置、数据库的备份与恢复、数据库快照、镜像、日志传送、数据库群集和数据库复制等。本篇通过详尽的操作步骤和多种示例让读者对数据库安全管理有一个初步的了解。
  第3篇 SQL Server 开发(第8~18章)
  本篇讲述了SQL Server在开发应用中的特性,主要包括数据库设计、CLR集成、XML的使用、ADO.NET的使用、SMO编程、高级T-SQL语法、Service Broker(即异步应用程序平台)、空间数据类型、跨实例链接、数据库管理自动化和商务智能等。本篇是本书的精华和核心所在,也是需要掌握的SQL Server 2012的核心知识。本篇所讲的内容是SQL Server 2012开发中的高级应用。通过对本篇内容的学习,读者可以了解和使用SQL Server 2012及其特性进行数据库应用开发。
  第4篇 数据库性能优化(第19~22章)
  本篇所介绍的数据库性能优化知识很容易被读者忽视。本篇内容也是SQL Server应用中最难掌握的知识。主要包括数据存储与索引、数据查询、事务处理、数据库系统调优工具等。本篇使用简单明了的示例来分析和介绍数据库性能优化,以小见大,帮助读者掌握数据库性能优化的知识。
超值DVD光盘内容
* 本书源程序;
* 18小时高清配套教学视频;
* 10小时SQL Server入门教学视频;
* 12小时SQL Server进阶实例教学视频;
* 《C#与.NET程序员面试宝典》电子书;
* 《C/C++程序员面试宝典》电子书;
* 《Java程序员面试宝典》电子书;
本书读者对象
* SQL Server入门新手;
* 想全面、系统、深入地学习SQL Server的人员;
* 想进一步提升SQL Server应用技能的人员;
* 具有SQL Server基础,想了解SQL Server 2012新特性的人员;
* 从事数据库应用开发,想对数据库管理和性能优化有所了解的开发人员;
* 从事.NET应用开发,熟悉C#语言的开发人员;
* 数据库技术爱好者和研究人员;
* 数据分析和设计人员;
* 大中专院校的学生;
* 社会培训班的学员;
* 需要一本案头必备手册的程序员。
  读者在阅读本时若有疑问,或者发现了本书中的不足和疏漏之处,请发电子邮件,编者会及时答复。
  最后希望各位读者通过阅读本书,能很好地掌握SQL Server数据库技术,成为这个领域中的“王者”。笔者将倍感欣慰!所学授之于人,不亦乐乎?最后祝读书快乐!
  
  编者

免费在线读

第5 章 SQL Server 2012 安全

随着网络时代的到来,越来越多的业务系统运行在互联网上,越来越多的数据都以比特的方式保存在硬盘上,数据的安全成了人们日益关注的一个问题。作为一款强大的企业级数据库管理系统,SQL Server 在安全方面做了很多的工作。本章将主要讲解SQL Server2012 在安全方面的特性。

5.1 新安全机制概论

可将保护SQL Server 视为一系列步骤,它涉及4 方面:平台、身份验证、对象(包括数据)及访问系统的应用程序。本节将从这4 个方面进行简单的介绍。

5.1.1 平台与网络安全性

SQL Server 的平台包括物理硬件和将客户端连接到数据库服务器的联网系统,以及用于处理数据库请求的二进制文件。物理安全性的最佳实践是严格限制对物理服务器和硬件组件的接触。例如,将数据库服务器硬件和联网设备放在限制进入的上锁房间。此外,还可通过将备份媒体存储在安全的现场外位置,限制对其接触。实现物理网络安全首先要防止未经授权的用户访问网络。

具体实现包括以下几点。

1.关闭不必要的网络协议

在第1 章讲解SQL Server 2012 的协议中已经讲到,SQL Server 2012 支持4 种不同的协议进行连接。如果资源有限,SQL Server 与应用程序是在同一台服务器上(当然,这是一种不推荐的做法),此时就可以只启用SQL Server 的共享内存协议,而将其他协议关闭。只开启共享内存协议后,没有任何人可以通过网络直接连接SQL Server,当然也就提高了网络安全性。

如果SQL Server 服务器和应用程序服务器是在同一个局域网中(例如服务器之间使用网线直接连接)如图5.1 所示,则对外暴露的只有应用程序服务器,数据库服务器与应用程序服务器在同一个局域网中,此时只需开启命名管道协议即可。

2.指定并限制用于SQL Server的端口

由于网络架构原因或其他因素需要将SQL Server 服务器直接暴露在因特网上,如果使用默认的SQL Server 端口1433 将是十分危险的。黑客通过端口扫描便可断定扫描到的服务器是数据库服务器,通过利用系统漏洞、SQL 注入或利用木马病毒等方法获得了数据库的密码后便可直接通过因特网连接数据库服务器,进行破坏。提高因特网上数据库服务器安全的比较实用的方法就是修改SQL Server 的连接端口。

图5.1 应用程序服务器直连数据库服务器

使用SQL Server 配置管理工具可以修改TCP/IP 协议中使用的端口,将端口改为比较陌生的端口,例如8412,或者修改为其他服务的端口例如443(主要是用于HTTPS 服务)都可以误导入侵者,提高系统的安全性。

3.限制对SQL Server的网络访问

仅仅是对默认端口的修改并不能保证数据库的安全,在黑客得知某端口对应的是数据库服务后仍然可以通过各种手段对数据库资料进行窃取和破坏。对于暴露在因特网上的服务器,都应该使用防火墙来限制网络的访问,提高系统的安全。实际上不仅仅是针对因特网,即使是局域网也有必要使用防火墙来提高系统的安全性。如图5.2 所示为一般大中型企业的服务器网络架构,在企业应用中充斥着各种应用服务器,各种服务器上运行着不同的服务,虽然大部分服务器是统一存放在一个机房中,但是在网络上它们之间是互不相连的。所有的服务器都是通过防火墙再与其他系统或用户进行交互。在防火墙上便可以配置服务器之间的网络访问策略。

通过使用防火墙限制对SQL Server 的网络访问可以很大限度地提高数据库的安全性。例如在图5.2 中的网络架构中,如果数据库只用于网站应用,那么在防火墙上便可以设定只有Web 服务器能够访问数据库服务器。这样即使黑客知道了数据库服务器的地址,知道了开放的端口,哪怕知道了数据库的密码也无法通过网络非法访问数据库服务器。服务器之间互不相连可以防止一台服务器被攻陷后,黑客以该服务器为肉鸡(黑客用语,即当做跳板的机器)轻易攻陷其他服务器。例如黑客通过某系统漏洞攻陷了电子邮件服务器,但是由于防火墙限制了电子邮件服务器对数据库服务器的访问,所以数据库服务器仍然是安全的。

4.备份和还原策略

在大中型企业应用中,数据库文件通常保存在SAN 或磁盘阵列上,这样使数据库文件丢失或损坏的几率大大下降,但是为了减少人为误操作或恶意破坏造成的损失,日常对数据库的备份必不可少。

图5.2 一般大中企业服务器网络架构

对数据库应该尽早而且经常备份。如果数据库每天备份,那么即使发生意外,损失顶多是一天的数据;而如果数据库是每周备份一次,则有可能会损失一周的数据。对数据库备份并不是将数据库备份到相同的磁盘上并忘记它。数据库备份应该存放在一个独立的位置(最好是远离现场),以确保其安全,要不然一旦存储发生意外,数据库文件和备份就一同被损坏了。在大型企业中一般采用磁带机进行备份并将备份的磁带专门存储在一个安全的地方。除了物理上和网络上的安全外,操作系统安全性也至关重要。及时更新操作系统Service Pack 和升级包含重要的安全性增强功能。通过数据库应用程序对所有更新和升级进行测试后,再将它们应用到操作系统。减少外围应用是一项安全措施,它涉及停止或禁用未使用的组件。减少外围应用后,对系统带来潜在攻击的途径也会减少,从而有助于提高安全性。限制SQL Server 外围应用的关键在于通过仅向服务和用户授予适当的权限来运行具有“最小权限”的所需服务。

5.1.2 主体与数据库对象安全性

主体是指获得了SQL Server 访问权限的个体、组和进程。“安全对象”是服务器、数据库和数据库包含的对象。每个安全对象都拥有一组权限,可对这些权限进行配置以减少SQL Server 外围应用。安全对象是SQL Server 数据库引擎授权系统控制对其进行访问的资源。通过创建可以为自己设置安全性名为“范围”的嵌套层次结构,可以将某些安全对象包含在其他安全对象中。安全对象范围有服务器、数据库和架构,分别包括以下数据库对象。

服务器安全对象包括:端点、登录账户和数据库。

数据库安全对象包括:用户、角色、应用程序角色、程序集、消息类型、路由、服务、远程服务绑定、全文目录、证书、非对称密钥、对称密钥、约定和架构。

架构安全对象包括:类型、XML 架构集合和对象。这里的对象包括聚合、约束、函数、过程、队列、统计信息、同义词、表和视图。

SQL Server 支持安全套接字层(SSL),并且与Internet 协议安全(IPSec)兼容。启用SSL 加密,将增强在SQL Server 实例与应用程序之间通过网络传输的数据安全性。但是,启用加密的确会降低性能。SQL Server 与客户端应用程序之间的所有通信流量都使用SSL加密时,还需要进行以下额外处理:

由于加密机制的需要,连接时需要进行额外的网络往返。

从应用程序发送到SQL Server 实例的数据包必须由客户端网络库加密并由服务器端网络库解密。

从SQL Server 实例发送到应用程序的数据包必须由服务器端网络库加密并由客户端网络库解密。

除了SQL Server 连接加密以外,SQL Server 还提供了大量函数支持加密、解密、数字签名,以及数字签名验证。加密并不解决访问控制问题。不过,它可以通过限制数据丢失来增强安全性,即使在访问控制失效的罕见情况下也能如此。例如,在数据库主机配置有误且恶意用户获取了包含敏感数据(如信用卡号)数据库的情况下,如果被盗信息已加密,则此信息将毫无用处。

在SQL Server 加密中,证书是在两个服务器之间共享的软件“密钥”,使用证书进行加密后,可以通过严格的身份验证实现安全通信。可以在SQL Server 中创建和使用证书,以增强对象和连接的安全性。

5.1.3 应用程序安全性

实际与用户交流的是应用程序客户端,所以SQL Server 安全性包括编写安全客户端应用程序。不安全的客户端应用程序容易出现SQL 注入漏洞或暴露数据库链接信息。在最简单的情况下,SQL Server 客户端可与SQL Server 实例运行在同一台计算机上。对于一般的企业应用来说,通常一个客户端可能会通过网络连接多个服务器,而一个数据库服务器也可能连接着多个客户端。默认的客户端配置可以满足大多数情况。SQL Server 客户端可以使用多种方式来连接数据库。一般是SQL Server Native Client OLE DB 访问接口连接到SQL Server 实例。使用ADO.NET 编程连接SQL Server,以及sqlcmd 命令提示工具和数据库管理工具SQL Server Management Studio,都是OLE DB 应用程序的例子。另外,随SQL Server 旧版本安装的客户端实用工具则使用SQL Server NativeClient ODBC 驱动程序连接到SQL Server。除了OLE DB 和ODBC 方式外,有些程序是使用DB-Library 的客户端连接数据库。不过SQL Server 对使用DB-Library 的客户端支持,

SQL Server 2012王者归来——基础、安全、开发及性能优化(配光盘) pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:SQL Server 2012王者归来——基础、安全、开发及性能优化(配光盘)