零基础学SQL Server 2008
上QQ阅读APP看书,第一时间看更新

第一篇 SQL Server 2008数据库基础

第1章 SQL Server 2008数据库

SQL Server 2008是微软的一个重要的产品版本,它推出了许多新的特性和关键的改进,使得它成为迄今为止的最强大和最全面的SQL Server版本。本章将主要讲解Microsoft SQL Server 2008的基础知识及其安装和使用方法。

本章重点:

❑ 了解数据库发展基本常识。

❑ 掌握SQL Server 2008安装及排除在安装过程中遇到的困难。

❑ 了解SQL Server 2008新增特性。

❑ 了解SQL Server 2008基本架构。

1.1 SQL Server简介

本节主要介绍SQL Server的发展历史和特点,通过对数据库的发展历史和SQL Server发展历史的了解,使读者更好地确定学习目标。

1.1.1 SQL Server发展史

1946年世界上第一台计算机“ENIAC”的诞生标志着人类进入了计算机时代。使用计算机中所必须面临的一个问题就是信息的存储。早期的计算机是将信息通过打孔的方式存储在纸上,但是这种存储的方式既不容易检索也不便于修改。后来随着磁存储介质的发明,信息才以文本文件或二进制文件的形式存储。这种以单独的文件来存放信息的方式叫做文件处理系统(File-Processing System)。

不同的信息被存放在不同的文件和不同的路径下,人们编写不同的应用程序来记录和处理需要的文件。文件处理系统的缺点如表1.1所示。

传统的文件处理系统不支持以一种方便而高效的方式去获取所需数据。随着计算机的普及,需要处理的数据不断膨胀,在处理几百万条、几千万条数据的情况下,文件处理系统已经无能为力了。而且随着需要处理业务的不断复杂化,数据完整性问题、原子性问题、并发操作问题、数据安全问题等更使文件处理系统日益不负重荷。在这种情况下数据库管理系统(Database Management System,DBMS)应运而生。

表1.1 文件处理系统的缺点

数据的存储和检索是早期数据存储的主要方式,网状数据模型和层次数据模型描述数据、数据联系、数据定义和数据一致性约束。1970年,美国IBM(主要产品DB2)公司的E.F.Codd发表的著名论文“A Relational Model of Data for Lar ge Shared Data Banks”中首先提出了关系数据模型。后来Codd又提出了关系代数和关系演算的概念、函数依赖的概念、关系的三范式,为关系数据库奠定了理论基础。接着各大数据厂商都推出了支持关系模型的数据库管理系统,标志着关系数据库系统新时代的来临。

1989年Sybase和Ashton-Tate公司合并开发了数据库产品SQL Server 1.0。而Microsoft为了能在关系数据库市场与Oracle公司和IBM抗衡,其在1992年劝说Sybase公司进行5年合作,共同研发数据库产品,并在之后推出了应用于Windows NT 3.1平台上的Microsoft SQL Server 4.21版本,从此标志着Microsoft SQL Server的正式诞生。

20世纪90年代,数据库市场百花齐放,竞争十分激烈。SQL Server的早期版本由于其自身的不足,仅局限在小型企业和个人应用上。1998年SQL Server 7.0的推出才使SQL Server走向了企业级应用的道路。而随后发布的Microsoft SQL Server 2000更是一款优秀的数据库产品,凭借其优秀的数据处理能力和简单易用的操作使得SQL Server居于世界三大数据库之列。SQL Server的更新换代情况如表1.2所示。

表1.2 SQL Server各版本发布时间和开发代号

虽然SQL Server 2000成为世界上数据库三巨头之一,但是与Oracle和IBM的DB2相比,SQL Server 2000在数据处理效率、系统功能和市场占有率上仍有比较大的差距。到2004年,据IDC统计,Oracle的市场占有率为41.3%,而IBM和微软市场份额则分别为30.6%和13.4%。自从2000年微软发布SQL Server 2000以后,五年内一直没有对SQL Server进行大的版本升级。

2005年SQL Server 2005的发布可谓是微软在数据库市场投放的重磅炸弹,SQL Server 2005不愧为“十年磨一剑”的精品之作,其高效的数据处理、强大的功能、简易而统一的界面操作,以及诱人的价格立即受到众多软件厂商和企业的青睐。SQL Server的市场占有率不断提高,微软和Oracle、IBM又站在了同一起跑线上。

3年后,SQL Server 2008在原有SQL Server 2005的架构上做了进一步的更改。除了继承SQL Server 2005的优点以外,还提供了更多的新特性、新功能,使得SQL Server上升到新的高度。这些新特性在以后的学习中我们都会一一学到。

1.1.2 SQL Server 2008新特性

SQL Server 2008添加了许多新特性,如数据集成功能、改进了分析服务、报告服务以及Office集成等。下面将一一解析这些新功能。

1. SQL Server集成服务(SSIS)

它的前身是SQL Server 2000的导入导出工具,现在SSIS是一个嵌入式应用程序,用于开发和执行ETL(解压缩、转换和加载)包。集成服务功能包含了实现简单的导入导出包所必需的Wizard导向插件、工具以及任务和非常复杂的数据处理功能,并且它在处理较大文件的性能上得到了提升。SSIS引擎将更加稳定。

Lookup在SSIS中用来获取关联信息。例如,从CustomerID查找Customer Name,获取数据集。Lookup要处理上百万行的数据集,因此性能较差。SQL 2008对Lookup的性能作出更进一步改进,而且能够处理像ADO.NET、XML、OLEDB和其他SSIS压缩包等数据源。

SQL Server 2008的MERGE命令很简单,用一个语句就可对行进行数据操作。下面的例子就是如何用MERGE命令来把列表插入已存在的数据库中。除了这些列表中还可以加入其他一些部分。如果没有MERGE语句,就需要执行两个命令才能完成。第一个命令查找匹配的Description然后更新。第二个命令查找不匹配项然后插入。有了MERGE,一个语句就可以完成这两个任务,从而大大提高了工作效率。步骤如下:

          01 MERGE InventoryMaster AS imaster    //归并命令
          02 USING (SELECT InventoryID, Descr FROM NewInventory) AS src
          03 ON imaster. InventoryID = src. InventoryID
          04 WHEN MATCHED THEN
          05 UPDATE SET imaster.Descr = src.Descr
          06 WHEN NOT MATCHED THEN
          07 INSERT (InventoryID, Descr) VALUES (src. InventoryID, src.Descr);

2. SQL Server分析服务(SSAS)

SQL Server 2008 Analysis Services(SSAS)也有了相当大的改进和增强。Block Computation也改进了其立体分析的性能。

SSAS 2008的可缩放性、高级分析能力以及强大的Microsoft Of fice互操作性。在性能、可伸缩性以及开发人员工作效率方面的改进,用户可以创建企业规模Online Analytical Processing(联机分析处理)解决方案。Unified Dimensional Model(统一维度模型)可以合并数据访问,并提供多种分析功能,同时还与Microsoft Of fice和开放式可嵌入体系结构进行高级集成,可以方便快捷地接近每位用户,并对企业范围内的用户实现可操作的功能。

3. SQL Server报表服务(SSRS)

SSRS的功能得到改进,可以处理多种数据源中的信息。另外,在报表的设计和完成之间有了更好的一致性。SQL SSRS 2008还包含了跨越表格和矩阵的TABLIX。Application Embedding允许用户单击报表中的URL链接,并通过Web来管理这些表。

4. Microsoft Office 2007

SQL Server 2008能够与Microsoft Office 2007完美地结合。

(1)SQL Server 2008与Microsoft Office Excel

电子表格应用于联机分析处理分析、数据挖掘和报表渲染的接口。它们的完美结合加强了终端用户访问和分析从SQL Server 2005分析服务获得的数据的能力。Excel与分析服务的紧密集成使终端用户可以轻松地使用分析服务的特性,通过使用计算机里的工具以想要的任何方式来轻松地建立“切片和切块”数据的Microsoft PivotTable动态视图,使用户可以从Excel执行中收获更多。

为了更好地服务于每个用户,使零基础人员在熟悉的Office环境中,利用SQL Server 2005分析服务的非常复杂的数据挖掘算法。用户可以直接在Excel和Visio中执行复杂的分析。

(2)SQL Server 2008与Microsoft Office Word

人们熟悉的Word处理应用程序,它可以作为报表的一种形式。这个令人期待的用于Microsoft Word的报表渲染器,作用于以Word格式来渲染SQL Server 2008报表服务的报表。

(3)SQL Server 2008与Microsoft Office Visio

Visio这个画图应用程序可以实现注释、增强和展示图形化数据挖掘视图等功能。其在与SQL Server 2008的合作下,可以呈现决策树、回归树、集群图和依赖关系网络。也可以在Visio中将数据挖掘模型保存为内嵌,还可以保存成一个网页。

(4)SQL Server 2008与Microsoft Office SharePoint Server

用它作为一个用于提供一个放置你所有的企业级商业智能的内容和工具的中央位置的中央组件,根据需要所有人都可以查看和及时地分析视图、报表和关键绩效指标,并与它们进行交互。与SQL Server 2008的完美结合可以使用一致的用户接口来管理和查看报表。

1.1.3 SQL Server 2008架构介绍

Microsoft SQL Server 2008适用于大规模联机事务处理(OLTP)、数据仓库和电子商务应用的数据库和数据分析平台。SQL Server 2008是一个数据库平台,为用户提供了一个安全可靠的高效的平台。

SQL Server 2008功能模块众多,但是从总体来说可以分为两大模块:数据库模块和商务智能模块。数据库模块除了数据库引擎以外,还包括以数据库引擎为核心的Service Broker、复制、全文搜索等功能组件。而商务智能模块由集成服务(Integration Service)、分析服务(Analysis Service)和报表服务(Reporting Service)三大组件组成。SQL Server 2008各组件之间的关系如图1.1所示。

图1.1 SQL Server 2008各组件之间的关系

数据库引擎是整个SQL Server 2008的核心所在,其他所有组件都与其有着密不可分的联系。图1.2所示的是SQL Server 2008的总体结构。协议(Protocol)、查询引擎(Query Compilation and Execution Engine)、存储引擎(Storage Engine)和SQLOS(SQLOS API)是数据库引擎的四大组件。由客户端提交的SQL命令都要和这四个组件进行交互。

图1.2 SQL Server 2008架构

❑ 协议层收到客户端的请求命令将它转为关系引擎能够识别的形式。协议层还可以把查询结果、转台信息和错误信息等从关系引擎中获取出来,然后将这些获取到的信息发送到客户端并能转换成使其识别的格式。

❑ 查询引擎来处理协议层发过来的SQL命令,对SQL命令进行解析、编译和优化。如果查询引擎检测到SQL命令需要数据就会向存储引擎发送数据请求命令。

❑ 存储引擎收到关系引擎的数据请求命令后负责数据的访问,包括事务、锁、文件及缓存的处理。

❑ SQLOS层被认为是数据库内部的操作系统,它负责缓冲池、内存管理、线程管理、死锁检测、同步单元和计划调度的操作。

1.2 SQL Server 2008数据库安装过程

前面对SQL Server 2008数据库有了大致的了解,SQL Server 2008不仅对原有性能进行了改进,还添加了许多新特性,如新添了数据集成功能,改进了分析服务、报告服务和Office集成等。同时SQL Server 2008也是基于微软平台进行系统开发的基本数据库平台,对于各种各样的需要持久化存储的数据的业务系统,SQL Server都是系统开发的首选。接下来一起来学习安装微软(Microsoft)公司的一个重大数据库—SQL Server 2008。

1.2.1 SQL Server 2008版本介绍

SQL Server 2008专业版是针对特定的用户群体而设计的。SQL Server 2008的各个专业版如表1.3所示。

表1.3 SQL Server 2008各专业版的版本说明

提示 详情可参考http://technet.microsoft.com/zh-cn/library/ms144275.aspx链接。

1.2.2 SQL Server 2008安装环境需求

在安装SQL Server的过程中,Windows Installer会在系统驱动器中创建临时文件。在运行安装程序以安装或升级SQL Server之前,可检查系统驱动器中是否有至少2.0GB的可用磁盘空间用来存储这些文件。即使在将SQL Server组件安装到非默认驱动器中时,此项要求也适用。

实际硬盘空间要求取决于系统配置和决定要安装的应用程序和功能。SQL Server各组件对磁盘空间的要求如表1.4所示。

表1.4 SQL Server各组件对磁盘空间的要求

1.2.3 如何安装SQL Server 2008数据库

在获得了SQL Server 2008安装所需要的光盘或安装文件,并确认计算机操作系统、硬件和相关软件满足该版本的SQL Server需求后,就可以安装配置SQL Server 2008了。接下来将一起来安装SQL Server 2008。

(1)双击SQLFULL_X86_CHS.EXE安装文件,将会获得安装SQL Server 2008的源路径,如图1.3所示。单击“OK”按钮会弹出“Extracting Files”解压进度界面,如图1.4所示。

图1.3 选择解压目录

图1.4 解压进度对话框

注意 双击完SQL Server 2008安装文件以后,因系统需寻找安装配置文件需要稍稍等待一会儿。过程中“确定”按钮会由灰色变成黑色。

注意 如图1.3所示的解压路径可自行更改。

(2)解压完成后弹出如图1.5所示的“Extraction Complete”对话框,单击“确定”按钮,进入“安装程序支持规则”界面,如图1.6所示。

图1.5 初始完毕

图1.6 SQL Server 2008安装中心

(3)单击“全新SQL Server独立安装或向现有安装添加功能”选项,系统将打开SQL Server 2008的安装程序,如图1.7所示。并且检测当前安装环境是否符合SQL Server 2008的安装条件,如果符合条件则“确定”按钮会由灰色变为黑色。

图1.7 安装程序支持规则

(4)单击“确定”按钮会出现产品密钥对话框,如图1.8所示。这里需要选择合适的产品类型,输入有效的产品密钥。本图演示选择“指定可用版本”单选按钮,系统将安装程序支持文件,然后单击“下一步”按钮。

图1.8 可根据需要选择安装版本

(5)此时出现“功能选择”对话框,如图1.9所示。在这一步可根据需要选择安装组件,初学者可默认全选。“...”按钮可以更改数据库安装位置。最后单击“下一步”按钮。

图1.9 “功能选择”对话框

注意 单选指定可用版本按钮可以选择SQL Server的相应产品。

(6)此时出现实例配置界面,如图1.10所示。在这里建议使用默认实例,选择“默认实例”单选按钮,也可单击“命名实例”单选按钮并在其后文本框中输入具体实例名,这样多个实例就可以被SQL Server允许在同一台计算机上运行了。这里演示安装默认实例,实例名和目录也可以默认,然后单击“下一步”按钮。

图1.10 实例配置界面

(7)进入检测硬盘空间界面,如图1.11所示。该界面列出了安装SQL Server 2008数据库需要占用的空间大小,可根据计算机环境调整。这里没有任何操作,直接单击“下一步”按钮。

图1.11 磁盘空间要求

(8)此时出现服务器配置界面,如图1.12所示。该界面主要配置服务的账户、启动类型、排序规则等功能。在这里演示把账户名设置为AUTHORITY/SYSTEM,然后单击“下一步”按钮。

图1.12 服务器配置界面

注意 由于SQL Server Analysis Services和另外两个服务是商务智能中使用的,一般情况下使用的频率不是很高,所以把它的启动类型设置为手动。SQL Server代理设为手动在需要的时候启动它就可以了。其他的就采用默认即可。另外,如果账户名设置错误或者不一致系统将会提示并且不可执行下一步操作,因此需保证每一步操作的正确性。

(9)出现数据库引擎界面,该界面用于配置数据库账户、数据库目录以及SQL Server 2008新增的功能Filestream,如图1.13所示。

图1.13 数据库引擎配置界面

SQL Server数据库中有两种验证模式,一是Windows身份验证模式,另一种是混合身份证验证模式。二者之间差异在于:前者指的是允许Windows中的账户和域账户访问数据库;后者是除了Windows身份验证的权限以外,还可以用在SQL Server中配置的用户名密码来访问数据库。这里演示Windows身份验证,然后指定SQL Server管理员,最后单击“下一步”按钮。

注意 Filestream中的设置保持默认即可。

(10)出现Analysis Services配置界面,如图1.14所示。先添加当前用户,然后单击“下一步”按钮,出现Reporting Services配置,其界面与图1.14基本类似,这里不再给出,操作也与图1.14一致,最后单击“下一步”按钮。

图1.14 账户设置界面

(11)弹出“错误和使用情况报告”对话框,如图1.15所示。此时系统将会检测当前的配置是否允许SQL Server的安装,如果规则没有完全通过检测,则根据提示修改数据库或服务器中的相应配置,确保全部通过,然后单击“下一步”按钮。

图1.15 “错误和使用情况报告”对话框

(12)出现“安装规则”对话框,如图1.16所示。必须确保状态列全部为“已通过”,然后单击“下一步”按钮。在“安装规则”对话框会继续查看准备安装项,直到有“安装”按钮出现。单击“安装”按钮,进行SQL Server的安装,如图1.17所示。等待安装进度完毕,会出现“关闭”按钮,直接单击“关闭”按钮就代表SQL Server 2008安装完毕。

图1.16 “安装规则”对话框

图1.17 “安装进度”对话框

注意 SQL Server 2008与早期版本的SQL Server一起运行在计算机上,企业管理器和其他依赖SQL-DMO的程序可能被禁用。

在SQL Server 2008安装完成后数据库服务将自动启动。打开Windows任务管理器,可以找到sqlserver.exe进程。打开Windows的服务列表,可以找到SQL Server(MSSQLSERVER)。状态为已启动,启动类型为自动,如图1.18所示。

图1.18 SQL Server的服务

1.2.4 进行SQL Server 2008的卸载

建议使用控制面板中的“添加或删除程序”功能来卸载SQL Server。步骤如下:

(1)在添加或删除程序中,找到“Microsoft SQL Server 2008”项,选中此项,然后单击“删除/更改”按钮,则出现“SQL Server 2008”对话框,如图1.19所示。

图1.19 管理SQL Server窗口

(2)该界面有“添加”、“修复”等选项,我们的操作是卸载SQL Server 2008。单击“删除”选项后,会弹出“选择实例”对话框,如图1.20所示。

图1.20 “选择实例”对话框

(3)根据安装时填选的实例名来选择数据库实例,然后一直单击“下一步”按钮,此过程中无须任何操作默认即可,直到出现“删除进度”对话框,如图1.21所示。

图1.21 “删除进度”对话框

(4)确认删除进度初始化完毕,此时SQL Server 2008正在从计算机中卸载。

注意 SQL Server是一个比较强大的数据库,其安装与卸载系统一样很严谨,因此在第(5)步过程中需要稍稍等一会儿。

(5)顺利初始化之后出现如图1.22所示的界面,单击“关闭”按钮SQL Server 2008被成功卸载。

图1.22 成功删除SQL Server 2008

1.3 小结

本章简单介绍了SQL Server 2008的发展,SQL Server 2008的新特性,包括集成服务、分析服务、报表服务和Microsoft Office 2007。

了解了SQL Server 2008各版本对计算机环境要求不同后才能正确选择安装SQL Server 2008的具体版本,在SQL Server 2008安装与卸载过程中的每一个步骤要选择正确的参数和选项。

1.4 本章练习

1. SQL Server 2008安装实例名时可以选择________或________来指定一个命名实例。

2. SQL Server 2008安装过程中,身份验证模式有________和________两种模式。

3. 安装SQL Server 2008时,身份验证模式使用的SQL登录账户名是( )。

A. admin

B. administrator

C. sa

4. Windows身份验证和SQL Server身份验证的区别是什么?

5. SQL Server 2008在安装的过程中出现了问题,不能正确地安装,请考虑哪些问题会导致安装不成功的。