SQL Server 2012任务化教程
上QQ阅读APP看书,第一时间看更新

第0章 绪论

知识目标

● 了解数据库的基本概念;

● 了解数据管理技术的发展;

● 了解SQL Server 2012的新特性、版本、体系结构。

技能目标

● 掌握SQL Server 2012的安装及配置方法;

● 掌握服务器选项的类型和配置方法。

知识学习

1.数据库

信息(Information)是现实世界事物的存在方式或运动状态的反映,其内容描述的是事物之间的相互联系和相互作用。

数据(Data)是描述事物的符号记录。数据包括文字、图形、图像、声音等。数据包括两个方面,即型和值。型是指数据的类型,是数值类、字符类还是日期类等;值是指数据在给定类型下的值,比如数值类的值可以是12、字符类的值可以是“中国”、日期类的值可以是“2016-3-22”等。

数据和信息之间存在着联系,信息通过数据表示,而信息是数据的含义。

数据库(Database,DB)是一个长期存储在计算机内的、有组织的、能共享的、统一管理的数据集合。数据库中的数据是按照一定的数据模型组织、描述和存储的,有较小的冗余度、较高的数据独立性和易扩展性。

数据库相当于一个容器,其内装有表、视图、存储过程、触发器等数据库对象。表是数据库的基本单位,用来存放数据;表结构给出表由哪些列组成以及每列的数据类型和存储数据的长度;行用于存储实体的实例,每一行就是一个实例。

2.数据库管理系统

数据库管理系统(Database Management System,DBMS)是使用和管理数据库的系统软件,位于用户与操作系统之间,负责对数据库进行统一的管理和控制。所有对数据库的操作都交由数据库管理系统完成,这使得数据库的安全性和完整性得以保证。

数据库管理系统主要具备6个功能:数据定义,数据的组织、存储和管理,数据操纵,数据库的运行管理和安全保护,数据库的维护,通信和互操作。

数据定义功能用于建立和修改数据库的库结构,数据库管理系统提供数据定义语言(Data Definition Language,DDL)来完成数据定义功能。

数据的组织、存储和管理功能的目标是提高存储空间利用率,选择合适的存取方法提高存取效率。数据的组织、存储与管理功能主要包括DBMS如何分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。

数据操纵功能用于用户对数据库进行插入、更新、删除和查询操作,数据库管理系统提供数据操纵语言(Data Manipulation Language,DML)完成数据操纵功能。

数据库的运行管理和安全保护功能确保数据库系统的正常运行,内容包括多用户环境下的并发控制、安全性检查、存取限制控制、完整性检查、日志的管理、事务的管理和发生故障后数据库的恢复。数据库管理系统提供数据控制语言(Data Control Language,DCL)完成数据库的运行管理和安全保护功能。

数据库的维护功能包括数据库的数据输入、转换、转储,数据库的重组织,数据库性能监视和分析等功能,这些功能是由若干实用程序和管理工具完成的。

通信和互操作功能是指数据库管理系统与其他系统的通信和不同数据库之间的互操作。

3.数据库系统

数据库系统(Database Systems,DBS)是指在计算机系统中引入了数据库系统,专门用于完成特定的业务信息处理。数据库系统包括硬件、软件和用户。其中,软件包括数据库、数据库管理系统、操作系统、应用开发工具和数据库应用程序。用户包括系统分析员、数据库设计人员、程序开发人员、数据库管理员和最终用户。数据库系统的核心是数据库管理系统。

数据库管理员(Database Administrator,DBA)是专门负责管理和维护数据库系统的人。通常,数据库管理员的工作职责包括参与或负责数据库设计,根据应用来创建和修改数据库,设计系统存储方案并制定未来的存储需求计划,维护数据库的数据安全性、完整性、并发控制,安装和升级数据库服务器以及应用程序工具,管理和监控数据库的用户,监控和优化数据库的性能,制订数据库备份计划,定期进行数据库备份,在灾难出现时对数据库信息进行恢复,等等。在实际工作中,一个数据库系统可能有一个或多个数据库管理员,也可能数据库管理员同时也负责系统中的其他工作。

数据库应用系统(Database Application Systems,DBAS)是指由数据库、数据库管理系统、数据库应用程序组成的软件系统。

4.数据管理技术的发展

数据管理技术是指对数据进行分类、组织、编码、存储、检索和维护的技术。数据管理技术的发展大致划分为3个阶段,即人工管理阶段、文件系统阶段和数据库系统阶段。

(1)人工管理阶段

20世纪50年代中期之前,计算机刚刚出现,主要用于科学计算。硬件存储设备只有磁带、卡片和纸带;软件方面还没有操作系统,没有专门管理数据的软件。因此,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入/输出方式等。数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量的重复数据,数据与程序不独立。数据通过批处理方式进行处理,处理结果不保存,难以重复使用。

(2)文件系统阶段

20世纪50年代中期到60年代中期,随着计算机大容量存储设备(如硬盘)和操作系统的出现,数据管理进入文件系统阶段。在文件系统阶段,数据以文件为单位存储在外存,且由操作系统统一管理。用户通过操作系统的界面管理数据文件。文件的逻辑结构与物理结构相独立,程序和数据分离。用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,通过文件进行数据共享。但是,数据在文件中的组织方式仍然由程序决定,因此必然存在相当的数据冗余。数据的逻辑结构和应用程序相关联,一方修改,必然导致另一方也要随之修改。此外,简单的数据文件不能体现现实世界中数据之间的联系,只能交由应用程序进行处理,缺乏独立性。

(3)数据库系统阶段

20世纪60年代后,随着计算机在数据管理领域的普遍应用,数据管理开始运用数据库技术,进入数据库系统阶段。数据库技术以数据为中心组织数据,采用一定的数据模型,数据模型不仅体现数据本身的特征,而且体现数据之间的联系,数据集成性高。根据数据模型建成的数据库数据冗余小,易修改、易扩充,便于共享,程序和数据有较高的独立性。数据库管理系统统一管理与控制数据库,保证了数据的安全性和完整性,可以有效地控制并发管理。

20世纪80年代中期以来,数据库技术与其他新技术相结合,陆续产生了多种类型的数据库,如面向对象数据库、分布式数据库、并行数据库、多媒体数据库、模糊数据库、时态数据库、实时数据库、知识数据库、统计数据库等。随着大数据时代的到来,各行各业不仅越来越多地面对海量数据,更迫切需求信息的挖掘和决策的制定,从而推动数据管理技术的进一步发展。

5.SQL Server 2012的特点

SQL Server最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。1992年,Microsoft公司开发了SQL Server的Windows NT版本;1993年,Microsoft公司发布了运行在Windows NT 3.1上的SQL Server4.2;1995年,Microsoft公司公布了SQL Server 6.0,该版本提供了集中的管理方式,并内嵌了复制的功能;1996年,Microsoft推出了SQL Server 6.5版本;1997年推出了SQL Server 6.5企业版,该版本包含了4GB的RAM支持,8位处理器以及对群集计算机的支持。

SQL Server 2012是Microsoft公司继SQL Server 2008发布后,于2011年推出的版本。

SQL Server 2012作为已经为云技术做好准备的信息平台,能够快速构建相应的快速解决方案实现本地和公有云之间的数据扩展。

SQL Server 2012可以进一步帮助企业保护其基础架构——专门针对关键任务的工作负载,以合适的价格实现最高级别的可用性及性能。微软不仅能为用户提供一个值得信赖的信息平台,它还是可靠的业务合作伙伴,企业可以通过它获得大批有经验的供应商的技术支持。SQL Server 2012的特性包括以下几个方面。

(1)安全性和高可用性

全新的SQL Server AlwaysOn将灾难恢复解决方案和高可用性结合起来,可以在数据中心内部、也可以跨数据中心提供冗余,从而有助于在计划性停机及非计划性停机的情况下快速地完成应用程序的故障转移。AlwaysOn提供了如下一系列新功能。

①AlwaysOn Availability Groups是一个全新的功能,可以大幅度提高数据库镜像的性能并帮助确保应用程序数据库的高可用性。

②AlwaysOn Failover Cluster Instances不仅可以增强SQL Server Failover Clustering的性能,并且由于支持跨子网的多站点群集,它还能够帮助实现SQL Server实例跨数据中心的故障转移。

③AlwaysOn Active Secondries使备结点实例能够在运行报表查询及执行备份操作时得到充分利用,这有助于消除硬件闲置并提高资源利用率。

④对于运行在可读备结点实例上的查询,SQL Server AlwaysOn AutoStat会自动创建并更新其所需的临时统计数据。

(2)超快的性能

①内存中的列存储。通过在数据库引擎中引入列存储技术,SQL Server成为第一个能够真正实现列存储的万能主流数据库系统。列存储索引可以将在SQL Server分析服务(SSAS,PowerPivot的重要基础)中开发的VertiPaq技术和一种称作批处理的新型查询执行范例结合起来,为常见的数据仓库查询提速,效果十分惊人。在测试场景下,星形连接查询及类似查询使客户体验到了近100倍的性能提升。

②全面改进全文搜索功能。SQL Server 2012中的全文搜索功能(FTS)拥有性能显著提高的查询执行机制及并发索引更新机制,从而使SQL Server的可伸缩性得到极大增强。全文搜索功能现在可以实现基于属性的搜索,而不需要开发者在数据库中分别对文件的各种属性(如作者姓名、标题等)进行维护,经过改进的NEAR运算符还允许开发者对两个属性之间的距离及单词顺序作相应的规定。除了这些奇妙的变化之外,全文搜索功能还重新修订了所有语言中存在的断字,在最新的Microsoft版本中进行了相应的更新,并新增了对捷克语和希腊语的支持。

③表格分区可多达15000个。目前表格分区可扩展至15000个,从而能够支持规模不断扩大的数据仓库。这种新的扩展支持有助于实现大型滑动窗口应用场景,这对于需要根据数据仓库的需求来实现数据切换的大文件组而言,能够使其中针对大量数据进行的维护工作得到一定程度的优化。

④扩展事件增强。扩展事件功能中新的探查信息和用户界面使其在功能及性能方面的故障排除更加合理化。其中的事件选择、日志、过滤等功能得到增强,从而使其灵活性也得到相应提升。

⑤Distributed Replay 6。全新的Distributed Replay功能可以简化应用程序的测试工作,并使应用程序变更、配置变更以及升级过程中可能出现的错误最小化。这个多线程的重放工具还能够模拟生产环境在升级或配置更改过程中的工作负载,从而可以确保变更过程中的性能不会受到负面影响。

(3)企业安全性及合规管理

审核增强。SQL Server在审核功能方面的改进使其灵活性和可用性得到一定程度的增强,这能够帮助企业更加自如地应对合规管理所带来的问题。

针对Windows组提供默认架构。数据库架构现在可以和Windows组而非独立用户相关联,从而能够提高数据库的合规性。

用户定义的服务器角色。用户定义的服务器角色使SQL Server的灵活性、可管理性得到增强,同时也有助于使职责划分更加规范化。

包含数据库身份验证。使用户无须使用用户名就可以直接通过用户数据库的身份验证,从而使合规性得到增强。

(4)具有突破性的业务洞察力

快速的数据发现。报表服务项目PowerView向各级用户提供基于网络的高交互式数据探索、数据可视化及数据显示体验,这使得自助式报表服务成为现实。

PowerPivot增强。微软能够帮助企业释放突破性的业务洞察力。

全文统计语义搜索。对于存储在SQL Server数据库中的非结构化的数据文件,全文统计语义搜索功能可以将从前无法发现的文件之间的关系挖掘出来,从而能够使T-SQL开发者为企业带来深刻的业务洞察力。

(5)可扩展的托管式自助商业智能服务

SQL Server Denali在分析服务中引入了商业智能语义模型。

(6)可靠、一致的数据

主数据服务(MDS)可以进一步简化用于数据集成操作的主数据结构(对象映射、参考数据、维度、层次结构)的管理,而且提供了故障转移集群和数据库镜像技术,使可用性更高。对于不同规模的企业,SQL Server集成服务(SSIS)均可以通过所提供的各种功能来提高它们在信息管理方面的工作效率。

(7)定制个性化云

SQL Server 2012能够解决从服务器到私有云或从服务器到通过常用工具链接在一起的公有云的各种难题,并为新的商业机会创造条件。

SQL Server 2012是SQL Server系列中一个重要的产品版本,可以进一步帮助用户构建关键任务环境,并从一开始就提供了相应的强大而且高效的支持。其中,新增加的功能以及对原有功能的增强能够帮助各种级别的企业释放突破性的洞察力;云就绪技术能够跨服务器、私有云和公有云实现应用程序均衡,从而帮助客户在未来的使用过程中保持自身的敏捷性。

6.SQL Server 2012的版本

SQL Server 2012提供了6个版本,服务组件主要有SQL Server数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。

SQL Server 2012的大部分版本都提供了服务器端和工作站的安装,同时包括客户端组件、工具和文档。在保证标准版的价格竞争力的同时,微软将大部分新的高可用性引入企业版。此外,微软还设计了低端的工作组版本数据库,并将该版本升级到工作版、标准版,并最终可以升级至企业版。下面对SQL Server 2012数据库各版本的情况进行说明。

SQL Server 2012的主要版本介绍如表0-1所示。

表0-1 SQL Server 2012的主要版本

(1)SQL Server 2012的专业版本

专业化版本的SQL Server可以面向不同的业务工作负荷。SQL Server的专业化版本介绍如表0-2所示。

表0-2 SQL Server 2012的专业版本

(2)SQL Server 2012的延伸版本

SQL Server延伸版是针对特定的用户应用而设计的,可免费获取或只需支付极少的费用。SQL Server 2012的延伸版本介绍如表0-3所示。

表0-3 SQL Server 2012的延伸版本

7.SQL Server 2012的体系结构

SQL Server的体系结构是指对SQL Server的组成部分和这些组成部分之间关系的描述。下面分别介绍主要的组件。

(1)核心组件

SQL Server 2012系统由4个核心部分组成,每个部分对应一个服务,分别是数据库引擎、分析服务、集成服务和报表服务,如图0-1所示。

①数据库引擎(Data Engine):数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎,可以控制访问权限并快速处理事务,满足企业中最需要占用数据的应用程序的要求。数据库引擎还为维护高可用性提供了大量的支持。

图0-1 SQL Server的体系结构

②分析服务(Analysis Services):分析服务为商业智能应用程序提供了联机分析处理(OLAP)和数据挖掘功能,允许用户设计、创建以及管理。分析服务包含从其他数据源聚合而来的数据的多维结构,从而提供OLAP支持。分析服务允许使用多种行业标准的数据挖掘方法来设计、创建和可视化从其他数据源构造的数据挖掘模型。

③集成服务(Integration Services):集成服务是一种企业数据转换、数据集成解决方案,用户可以使用它从不同的数据源提取、转换以及合并数据,并将其移至单个或多个目标。

④报表服务(Reporting Services):报表服务是一种基于服务器的新型报表平台,可用于创建和管理包含来自关系数据源和多维数据源的数据的表报表、矩阵报表、图形报表和自由格式报表。可以通过基于Web的连接来查看和管理用户创建的报表。

(2)其他组件

①复制(Replication):复制是在数据库之间,对数据和数据库对象进行复制、分发和同步以保持一致性的一组技术。使用复制可以将数据通过局域网、广域网、无线连接等分发到不同位置,以及分发给远程用户或移动用户。

②通知服务(Notification Services):通知服务用于开发和部署,可生成并发送通知的应用程序。通知服务可以生成并向大量订阅方发送个性化的消息,还可以向各种各样的设备传递消息。

③服务代理(Service Broker):Service Broker是一种用于生成可靠、可伸缩且安全的数据库应用程序的技术。Service Broker是数据库引擎中的一种技术,它对队列提供了本机支持。Service Broker还提供了一个基于消息的通信平台,可用于将不同的应用程序组件连接成一个操作整体;提供了许多生成分布式应用程序所必需的基础结构,可显著减少应用程序的开发时间。Service Broker还可以帮助用户轻松自如地缩放应用程序,以适应应用程序所要处理的流量。

④全文搜索(Full Text Search):SQL Server包含对SQL Server表中基于纯字符的数据进行全文查询所需的功能。全文查询可以包括单词和短语、一个单词或者短语等多种形式。

8.SQL Server 2012安装环境的配置

安装SQL Server 2012数据库软件之前,除了要确保计算机满足最低硬件要求外,还要适当地考虑数据库未来发展的需要。SQL Server 2012数据库的安装程序,在不满足安装所要求的最低硬件配置时,将会给出提示。

(1)硬件和软件需求

对于SQL Server 2012的32位和64位版本,应注意以下事项:

①建议在使用NTFS文件格式的计算机上运行SQL Server 2012。支持但建议不要在具有FAT32文件系统的计算机上安装SQL Server 2012,因为它没有NTFS文件系统安全。

②SQL Server安装程序将阻止在只读驱动器、映射的驱动器或压缩驱动器上进行安装。

③为了确保Visual Studio组件可以正确安装,SQL Server要求安装更新。 SQL Server安装程序会检查此更新是否存在,然后要求先下载并安装此更新,接下来才能继续SQL Server安装。若要避免在SQL Server安装期间中断,可在运行SQL Server安装程序之前先按下面所述下载并安装此更新(或安装Windows Update上提供的.NET 3.5 SP1的所有更新):

如果在使用Windows Vista SP2或Windows Server 2008 SP2操作系统的计算机上安装SQL Server 2012,则可以从此处获得所需更新。

● 如果在使用Windows 7 SP1、Windows Server 2008 R2 SP1、Windows Server 2012或Windows 8操作系统的计算机上安装SQL Server 2012,则已包含此更新。

● SQL Server 2012的组件要求如表0-4所示,这些要求适用于SQL Server 2012所有版本的安装。

表0-4 SQL Server 2012的组件

(2)处理器、内存和操作系统的要求

表0-5所列出的内存和处理器要求适用于SQL Server 2012的所有版本。

表0-5 SQL Server 2012对内存和处理器的要求

安装SQL Server 2012数据库之前,要求对操作系统进行检测,只有在满足其最低的版本要求后才能进行安装;否则,可能会造成组件安装不全或者系统安装失败。表0-6列出了针对SQL Server 2012的主要版本的操作系统要求。

表0-6 SQL Server 2012的主要版本的操作系统要求