SQL Server 2012王者归来:基础、安全、开发及性能优化(配光盘) PDF下载 公众号 其他格式

手机扫码免费下载

纠错留言

#电子书截图

SQL Server 2012王者归来:基础、安全、开发及性能优化(配光盘)截图

#电子书简介

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

第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 的客户端支持,
仅限于Microsoft SQL Server 7.0 功能。无论客户端使用哪种方式连接SQL Server,都应该根据实际项目要求对客户端进行管理。对客户端管理的范围可以小到输入服务器名称,大到生成自定义配置项库,以便满足各种各样的多服务器环境。
……

第1篇 SQL Server基础

第1章 SQL Server 2012概述( 教学视频:44分钟)

第2章 T-SQL基础( 教学视频:70分钟)

第3章 数据库基本操作( 教学视频:76分钟)

第4章 SQL Server 2012的特色( 教学视频:36分钟)

第2篇 数据库安全

第5章 SQL Server 2012安全( 教学视频:75分钟)

第6章 数据文件安全与灾难恢复( 教学视频:60分钟)

第7章 复制( 教学视频:36分钟)

第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分钟)

《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篇数据库性能优化,介绍数据存储与索引、数据查询、事务处理和数据库系统调优工具。
《SQL Server 2012王者归来:基础、安全、开发及性能优化》内容全面,示例精巧而详尽,适合所有想全面学习SQL Server数据库技术的人员阅读,是各个层次的数据库学习人员和广大程序员学习SQL Server的良好读物,更是IT开发人员的案头必备资料。
超值、大容量DVD光盘
本书涉及的实例源文件
18小时高清配套教学视频
10小时SQL Server入门教学视频
12小时SQL Server进阶实例教学视频
《C#与.NET程序员面试宝典》电子书
《C/C++程序员面试宝典》电子书
《Java程序员面试宝典》电子书

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

作为全新的企业级信息平台,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数据库技术,成为这个领域中的“王者”。笔者将倍感欣慰!所学授之于人,不亦乐乎?最后祝读书快乐!
编者

上一个计算机与互联网

下一个数据库

  • 评论列表(0

留言评论