第1章 SQL Server 2005基础知识 2005年11月,微软公司发布了其数据库软件的又一个新版本—— Microsoft SQL Server 2005。这是5年来微软公司首次发布新版本的数据库软件。该产品不仅可以有效地执行大规模联机事务,而且可以完成数据仓库和电子商务应用等许多具有挑战性的工作。Microsoft SQL Server 2005不仅继承了微软产品的一贯特点,而且在性能、可靠性、可用性、可编程性、易用性等方面都远远胜过了Microsoft SQL Server 2000。本章主要介绍SQL Server 2005的特点、安装和配置,以及常用管理工具的功能和使用。 本章的学习目标 ● 了解Microsoft SQL Server 2005的特点 ● 了解Microsoft SQL Server 2005的安装和配置 ● 理解SQL Server体系结构的特点和数据库引擎的作用 ● 理解数据库和组成数据库的各种对象的类型和作用 ● 熟练掌握SQL Server Management Studio工具的使用 ● 熟悉SQL Server 2005 常用管理工具的使用 1.1 SQL Server 2005概述 数据库是存储数据的仓库,是长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据具有结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点。数据库中的数据由数据库管理系统统一管理,数据库管理系统(DataBase Management System,简称DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能,它位于用户和操作系统之间。数据库管理系统的主要功能包括:数据库定义功能、数据库存取功能、数据库管理功能和数据库建立与维护功能。 本节主要介绍SQL Server 2005的体系结构、数据库和数据库对象以及SQL Server 2005的特点。 1.1.1 SQL Server 2005的体系结构 SQL Server 2005的体系结构是对SQL Server的组成部分和这些组成部分之间的描述。Microsoft SQL Server 2005系统由4个部分组成,这4个部分被称为4个服务,分别是数据库引擎、Analysis Services、Reporting Services和Integration Services。这些服务之间的关系如图1-1所示。 图1-1 Microsoft SQL Server 2005系统的体系结构图 ● 数据库引擎是Microsoft SQL Server 2005系统的核心服务,负责完成数据的存储、处理和安全管理。例如,创建数据库、创建表、执行各种数据查询、访问数据库等操作,都是由数据库引擎完成。一般来说,使用数据库系统实际上就是使用数据库引擎。数据库引擎也是一个复杂的系统,它本身包含了许多功能组件,例如,复制、全文搜索、Service Broker等。例如,在商品库存管理系统中,主要使用系统的数据库引擎来完成数据的添加、更新、删除、查询等操作。 ● Analysis Services的主要作用是提供联机分析处理(Online Analytical Processing,OLAP)和数据挖掘功能。相对OLAP来说,联机事物处理(Online Transaction Processing,OLTP)由数据库引擎负责完成。使用Analysis Services,用户可以设计、创建和管理包含来自于其他数据源数据的多维结构,通过对多维数据进行多角度的分析,可以使管理人员对业务数据有更全面的理解。另外,通过使用Analysis Services,用户可以完成数据挖掘模型的构造和应用,实行知识的发现、表示和管理。 ● Reporting Services为用户提供了支持Web方式的企业级报表功能。通过使用Microsoft SQL Server 2005系统提供的Reporting Services,用户可以方便地定义和发布符合需求的报表。无论是报表的布局格式,还是报表的数据源,用户都可以借助工具轻松地实现。这种服务极大地方便了企业的管理工作,满足了管理人员对高效、规范管理的需求。例如,在商品库存管理信息系统中,使用Microsoft SQL Server 2005系统提供的Reporting Services,可以很方便地生成Word、PDF、Excel等格式的报表。 ● Integration Services是一个数据集成平台,负责完成有关数据的提取、转换和加载等操作。例如,对Analysis Services来说,数据库引擎是一个重要的数据源,而如何将数据源中的数据经过适当的处理并加载到Analysis Services中,以便进行各种分析处理,这正是Integration Services所要解决的问题。重要的是,Integration Services可以高效地处理各种各样的数据源,例如,SQL Server、Oracle、Excel、XML文档和文本文件等。 1.1.2 数据库和数据库对象 对Microsoft SQL Server 2005的体系结构有了了解之后,下面介绍Microsoft SQL Server 2005的数据库和数据库对象。 1. 数据库的类型和特点 Microsoft SQL Server 2005系统提供了两种类型的数据库,即系统数据库和用户数据库。系统数据库存放Microsoft SQL Server 2005系统的系统级信息,例如,系统配置、数据库信息、登录账户信息、数据库文件信息、数据库备份信息、警报和作业等。Microsoft SQL Server 2005使用这些系统级信息管理和控制整个数据库服务器系统。用户数据库是由用户创建的、用来存放用户数据的数据库。Microsoft SQL Server 2005系统的数据库类型如图1-2所示。 图1-2 数据库类型示意图 当Microsoft SQL Server 2005安装成功之后,系统自动创建了4个系统数据库和多个用户示例数据库(如果在安装过程中选择了安装AdventureWorks和AdventureWorksDW这两个用户示例数据库的话)。其中,4个系统数据库分别是master、model、msdb和tempdb数据库。这些系统数据库的作用和特点如表1-1所示。 表1-1 系统数据库的作用和特点 数 据 库 描 述 master master数据库是SQL Server的核心,如果该数据库被损坏,SQL Server将无法正常工作。master数据库记录了所有SQL Server系统级的信息,这些系统级的信息包括:登录账户信息、系统配置设置信息、服务器配置信息、数据库文件信息以及SQL Server初始化信息等 tempdb tempdb是一个临时数据库,用于存储查询过程中的中间数据或结果。实际上,这是一个临时工作空间 model model数据库是其他数据库的模板数据库。当创建用户数据库时,系统自动把该模板数据库的所有信息复制到新建的数据库中。model数据库是tempdb数据库的基础,对model数据库的任何改动都将反映在tempdb数据库中 msdb msdb数据库是一个与SQL Server Agent服务有关的数据库。该系统数据库记录有关作业、警报、操作员、调度等信息 2. 数据库对象 数据库是对象的容器,它不仅可以存储数据,而且能够使数据存储和检索以安全可靠的方式进行。数据库对象就是存储、管理和使用数据的不同结构形式。在Microsoft SQL Server 2005系统中,主要的数据库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则和默认值等。在某种程度上可以说,设计数据库的过程实际上就是设计和实现数据库对象的过程。在Microsoft SQL Server 2005系统中,使用SQL Server Management Studio工具的“对象资源管理器”,可以把数据库中的对象表示成树状节点形式。例如,实例数据库中的数据库对象节点如图1-3所示。 图1-3 “对象资源管理器”中的数据库对象节点 在这些节点中,“数据库关系图”节点包含了数据库中的关系图对象,关系图对象用来描述数据库中表和表之间的关系。在数据库技术领域中,关系图有时也被称为ER图、ERD图或EAR图等。 ● “表”节点中包含了最基本、最重要的数据库对象——表。表中存放着系统和用户的数据,是最核心的数据库对象。 ● “视图”节点包含了数据库中的视图对象。视图是一种虚拟表,用来查看数据库中的一个或多个表,是建立在表基础之上的数据库对象,它主要以SELECT语句形式存在。 ● “同义词”节点中包含了数据库中的同义词对象。这是Microsoft SQL Server 2005系统新增的一种对象。同义词是数据库对象的另一个名称。通过使用同义词对象,可以大大简化对数据库对象名称的引用。 ● “可编程性”对象是一个逻辑组合,它包括存储过程、函数、触发器、程序集、类型、规则和默认值等对象。“存储过程”节点中包含了数据库中存储过程对象的信息。存储过程是封装了可重用代码的模块或例程。存储过程可以接受输入参数、向用户返回结果和消息、调用Transact-SQL语句并且返回输出参数。在Microsoft SQL Server 2005系统中,可以使用Transact-SQL或CLR语言定义存储过程。 ● 数据库中的函数对象包含在“函数”节点中。函数是接受参数、执行复杂操作并将结果以值的形式返回的例程。通过使用函数,可以达到模块化编程、执行速度更快、网络流量更少等效果。函数可以分为:表值函数、标量值函数、聚合函数和系统函数。 ● “数据库触发器”节点中包含了数据库中定义的触发器对象。触发器是一种特殊的存储过程,在数据库服务器中发生指定的事件后自动执行。在Microsoft SQL Server 2005系统中,可以把触发器分为DML触发器和DDL触发器两大类。 ● “程序集”节点中包含了数据库中的程序集对象。程序集是在Microsoft SQL Server 2005系统中使用的DDL文件,用于部署用CLR编写的函数、存储过程、触发器、用户定义聚合和用户定义类型等对象。 ● “类型”节点中包含了系统数据类型、用户定义数据类型、用户定义类型和XML架构集合等对象类型。系统数据类型是SQL Server系统提供的数据类型,例如,数值类型、日期类型等。用户定义数据类型是用户基于系统数据类型定义的数据类型。用户定义类型扩展了SQL Server的类型系统,可以用于定义表中列的类型,或者Transact-SQL语言中的变量或例程参数的类型。XML架构集合是一个类似数据库表的元数据实体,用于存储导入的XML架构。 ● “规则”节点中包含了数据库中的规则对象。规则可以限制表中列值的取值范围,确保输入数据的正确性。实际上,规则是一种向后兼容的、用于执行与CHECK约束相同的功能。 ● “默认值”节点中包含了数据库中的默认值对象。默认对象也是一种完整性对象,它可以为表中的指定列提供默认值。 除了上述节点表示的对象之外,数据库中的对象还包括用户、角色、索引和约束等。 1.1.3 SQL Server 2005的特点 Microsoft SQL Server 2005与Microsoft SQL Server 2000相比,在性能、可靠性、实用性等方面有了很大扩展和提高。与Microsoft Visual Studio、Microsoft Office System以及新的开发工具包(包括Business Intelligence Development Studio)的紧密集成,使Microsoft SQL Server 2005与众不同。无论是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005都可以为用户提供创新的解决方案,帮助用户从数据中获取更多的信息。 与以前版本相比较,SQL Server 2005具有以下新特性。 ● 增强的数据引擎 安全、可靠、可伸缩、高可用性的关系型数据库引擎,提升了系统性能且支持结构化和非结构化(XML)数据。在编程环境下和微软.NET集成在一起。SQL Server 2005中的Transact-SQL增强功能提高了在编写查询时的表达能力,可以改善代码的性能,并且增强了错误管理能力。 ● 增强的数据复制服务 可用于数据分发、处理移动数据应用、系统高可用、企业报表、数据可伸缩存储、与异构系统的集成等,包括已有的Oracle数据库等。 ● 增强的通知服务 用于开发、部署可伸缩应用程序的先进的通知服务,能够向不同的连接和移动设备发布个性化、及时的信息更新。 ● 增强的集成服务 可以支持数据仓库和企业范围内数据集成的抽取、转换和装载能力。 ● 增强的分析服务 联机分析处理(OLAP)功能可用于多维存储的大量、复杂的数据集的快速高级分析。 ● 增强的报表服务 全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于Web的报表。 ● 新增Service Broker技术 通过使用 Transact-SQLDML语言扩展,允许内部或外部应用程序发送和接收可靠、异步的信息流。信息可以被发送到发送者所在数据库的队列中,或发送到同一SQL Server 实例的另一个数据库,或发送到同一服务器或不同服务器的另一个实例。 ● 改进的开发工具 开发人员能够用一个开发工具开发Transact-SQL、XML、MSX(MultiDimensional Expressions)、XML/A(XML for Analysis)应用。和 Visual Studio开放环境的集成也为关键业务应用和商业智能应用提供了更有效的开放和调试环境。 ● 增强的数据访问接口 SQL Server 2005提供了新的数据访问技术—— SQL本地客户机程序(Native Client)。这种技术将SQL OLE DB以及SQL ODBC集成在一起,连同网络库形成本地动态链接库(DLL)。SQL本地客户机程序可使数据库应用的开发更容易,更易于管理以及更有效率。另外,SQL Server 2005提供了Microsoft数据访问(MDAC)和.NET Frameworks SQL客户端提供程序方面的改进,为数据库应用程序的开发人员提供了更好的易用性、更强的控制和更高的工作效率。 1.2 SQL Server 2005的安装 安装和配置是使用Microsoft SQL Server 2005系统的开端工作,正确地安装和配置系统是确保软件系统安全、健壮、高效运行的基础。 在安装Microsoft SQL Server 2005系统之前,必须做好一些准备工作。其中,了解系统的版本特点和系统对安装环境的要求是最基本的准备工作。本节将详细介绍Microsoft SQL Server 2005系统的版本特点、对软硬平台的要求和系统的安装操作。 1.2.1 SQL Server 2005版本的特点 Microsoft SQL Server 2005系统提供了6个不同的版本:企业版(Enterprise Edition)、标准版(Standard Edition)、开发人员版(Developer Edition)、工作组版(Workgroup Edition)、精简版(Express Edition)和企业评估版。 ● 企业版 Microsoft SQL Server 2005 系统的企业版可用作一个企业的数据库服务器。这种版本支持Microsoft SQL Server 2005系统的所有功能,包括支持OLTP系统和OLAP系统。企业版是功能最齐全、性能最优的数据库系统,也是价格最昂贵的数据库系统。实际上,该版本又分为两种类型:32位版本和64位版本。很显然,64位版本要求64位的硬件环境。这两种类型在支持RAM和CPU的数量方面有很大的差别。企业版还支持网络存储、故障切换和群集等技术,作为完整的解决方案,企业版应该是大型企业首选的数据库产品。 ● 标准版 Microsoft SQL Server 2005 系统的标准版是适合于中小型企业的数据管理和分析平台。它包括电子商务、数据仓库和业务流解决方案所需的基本功能。虽然标准版的功能不如企业版齐全,但是它所具有的功能已经能够满足普通企业的一般需求了。该版本既可用于64位平台环境,也可以用于32位平台环境。标准版的集成商业智能和高可用性功能可以为企业提供其运营所需的基本功能。综合考虑企业需要的业务功能和企业的财务状况,标准版是需要全面的数据管理和分析平台的中小型企业的理想选择。 ● 开发人员版 Microsoft SQL Server 2005系统的开发人员版主要是提供数据库应用程序开发人员进行应用程序开发和存储数据使用。这种版本只适用于数据库应用程序开发人员,不适用于普通的数据库用户。开发人员版可以在SQL Server 上生成任何类型的应用程序,它包括SQL Server 2005 Enterprise Edition的所有功能,但有许可限制,只能用于开发和测试系统,而不能用作生产服务器。开发人员版是独立软件供应商(ISV)、咨询人员、系统集成商、解决方案供应商以及创建和测试应用程序的企业开发人员的理想选择。Developer Edition可以根据生产需要升级至SQL Server 2005 Enterprise Edition。该版本一般较少使用。 ● 工作组版 Microsoft SQL Server 2005系统的工作组版是一个入门级的数据库产品,它提供了数据库的核心功能,可以为小型企业或部门提供数据管理服务,并且可以轻松地升级至标准版 或企业版。该版本的数据库产品只能用于32位平台环境,与企业版或标准版相比,工作组版具有价格上的优势。工作组版是理想的入门级数据库,具有可靠、功能强大且易于管理的特点。 ● 精简版 Microsoft SQL Server 2005系统的精简版是一个免费、易用且便于管理的数据库。SQL Server Express 和Microsoft Visual Studio 2005 集成在一起,可以轻松开发功能丰富、存储安全、可快速部署的数据驱动应用程序。SQL Server Express是免费的,可以再分发(受制于协议),还可以起到客户端数据库以及基本服务器数据库的作用。SQL Server Express 是低端ISV、低端服务器用户、创建Web应用程序的非专业开发人员以及创建客户端应用程序的编程爱好者的理想选择。从数据库产品市场角度来看,精简版有可能成为Microsoft SQL Server 2005系统的其他版本产品占据市场份额的有力武器。 ● 企业评估版 Microsoft SQL Server 2005系统的企业评估版是一种可以从微软网站上免费下载的数据库版本。这种版本主要用来测试Microsoft SQL Server 2005的功能。虽然这种企业评估版具有Microsoft SQL Server 2005系统的所有功能,但是其运行时间只有120天。 从上面的介绍可以看出,对于所有用户来说,企业版、标准版和工作组版是3种可以选择的数据库产品,其他版本的数据库产品只适用于部分特殊的用户。在Microsoft SQL Server 2005的这些版本中,可以方便地从低级版本向高级版本升级。例如,可以从Microsoft SQL Server 2005的工作组版升级到Microsoft SQL Server 2005的企业版或标准版,也可以从Microsoft SQL Server 2005标准版升级到Microsoft SQL Server 2005的企业版。 1.2.2 SQL Server 2005的运行环境要求 Microsoft SQL Server 2005系统的不同版本对硬件、操作系统和Internet、网络等环境的要求不同。下面介绍各种版本的硬件环境要求、操作系统要求、Internet要求以及网络要求等。值得注意的是,Microsoft SQL Server 2005系统对32位平台和64位平台的要求是不同的。 1. 硬件环境要求 对硬件环境的要求包括对处理器类型、处理器速度、内存、硬盘空间等的要求。Microsoft SQL Server 2005对处理器型号、速度及内存需求的详细信息如表1-2所示。 表1-2 Microsoft SQL Server 2005对硬件环境要求 硬 件 名 称 最 低 要 求 处理器类型 Pentium III兼容处理器或更高速度的处理器(32位) IA64最低:Itanium处理器或更高(64位) X64最低:AMD Opteron、AMD Athlon 64、支持Intel EM64T的Intel Xenon、支持Intel EM64T的Intel Pentium IV(64位) 处理器速度 最低:600MHz,建议:1GHz或更高(32位) IA64最低:1GHz,建议:1GHz或更高(64位) X64最低:1GHz ,建议:1GHz或更高(64位) (续表) 硬 件 名 称 最 低 要 求 内存 最低:512MB,建议:1GB或更大,最大:操作系统的最大内存(32位的企业版、开发人员版、标准版、工作组版) 最低:192MB,建议512MB或更大,最大:操作系统的最大内存(32位的精简版) IA64最低:512MB,建议:1GB或更大,最大:32TB(64位的企业版、开发人员版、标准版) X64最低:512MB,建议:1GB或更大,最大:操作系统的最大内存(64位的企业版、开发人员版、标准版) 实际的硬盘空间需求取决于系统配置以及所选择安装的服务和组件,Microsoft SQL Server 2005对硬盘空间需求的详细信息如表1-3所示。 表1-3 Microsoft SQL Server 2005对硬盘空间需求 服务和组件 硬 盘 需 求 数据库引擎及数据文件、复制、全文搜索等 150MB 分析服务及数据文件 35KB 报表服务和报表管理器 40MB 通知服务引擎组件、客户端组件以及规则组件 5MB 集成服务 9MB 客户端组件 12MB 管理工具 70MB 开发工具 20MB SQL Server联机图书以及移动联机图书 15MB 示例及示例数据库 390MB 2. 操作系统要求 如表1-4所示的是Microsoft SQL Server 2005系统对32位处理器上操作系统的要求。对64位处理器上操作系统的要求请参考用户手册或联机丛书。 表1-4 Microsoft SQL Server 2005对32位处理器上操作系统的要求 操 作 系 统 企业版 开发人员版 标准版 工作组版 精简版 企业评估版 Windows 2000 Professional Edition SP4 否 是 是 是 是 是 Windows 2000 Server SP4 是 是 是 是 是 是 Windows 2000 Advanced Server SP4 是 是 是 是 是 是 Windows 2000 Datacenter Edition SP4 是 是 是 是 是 是 (续表) 操 作 系 统 企业版 开发人员版 标准版 工作组版 精简版 企业评估版 嵌入式Windows XP 否 否 否 否 否 否 Windows XP Home Edition SP2 否 是 否 否 是 否 Windows XP Professional Edition SP2 否 是 是 是 是 是 Windows XP Media Edition SP2 否 是 是 是 是 是 Windows XP Tablet Edition SP2 否 是 是 是 是 是 Windows 2003 Server SP1 是 是 是 是 是 是 Windows 2003 Enterprise Edition SP1 是 是 是 是 是 是 Windows 2003 Datacenter Edition SP1 是 是 是 是 是 是 Windows 2003 Web Edition SP1 否 否 否 否 是 否 3. Internet 要求 无论是32位版本还是64位版本的Microsoft SQL Server 2005系统,对Internet的要求都是相同的。这些Internet要求包括对Internet Explorer、IIS、ASP.NET的要求,具体要求如表1-5所示。 表1-5 Microsoft SQL Server 2005对Internet的要求 组 件 要 求 Internet Explorer Microsoft Internet Explorer 6.0 SP1或更高版本。如果只是安装客户端组件且不需要连接到要求加密的服务器,则Internet Explorer 4.01 SP2 也可以满足要求 IIS Microsoft SQL Server 2005系统的报表服务需要IIS 5.0或更高版本 ASP.NET Microsoft SQL Server 2005系统的报表服务需要ASP.NET 2.0 1.2.3 Microsoft SQL Server 2005的安装 前面介绍了Microsoft SQL Server 2005对环境的要求,下面以Microsoft SQL Server 2005标准版为例,介绍如何安装Microsoft SQL Server 2005数据库系统。 1. 安装SQL Server 2005标准版之前应该注意的问题 在安装SQL Server 2005标准版之前,首先必须满足系统对硬件和操作系统的要求,然后启动Internet信息服务(IIS)。还要安装Microsoft Visual Studio 2005,因为安装Microsoft Visual Studio 2005以后,系统将安装Microsoft .NET Framework SDK v2.0,SQL Server 2005标准版需要它的支持。但不要安装Microsoft Visual Studio 2005自带的SQL Server 2005,因为Microsoft Visual Studio 2005自带的SQL Server 2005版本是精简版,会影响标准版的安装。 2. 安装Microsoft SQL Server 2005标准版的步骤 Microsoft SQL Server 2005标准版有两张安装盘,第1张为系统安装盘,第2张为工具安装盘。具体安装步骤如下: (1) 先将第一张光盘放入光驱中,运行setup.exe文件,出现安装Microsoft SQL Server 2005的启动界面,如图1-4所示。 图1-4 安装Microsoft SQL Server 2005的启动界面 (2) 选中“我接受许可条款和条件”复选框后,单击“下一步”按钮,将出现安装SQL Server之前需要安装的支持文件窗口。为了成功安装Microsoft SQL Server 2005,在计算机上需要下列软件组件:Microsoft .NET Framework 2.0、Microsoft SQL Server本机客户端、Microsoft SQL Server 2005安装程序支持文件。 (3) 当安装必备组件检测并配置完毕后, 如果系统配置检查成功,自动弹出Microsoft SQL Server 2005安装向导界面。单击“下一步”按钮,进入“系统配置检查”窗口,在该界面中可以看到是否存在可能阻止安装程序运行的情况,如图1-5所示。 图1-5 “系统配置检查”窗口 (4) 如果没有“失败”状态,单击“下一步”按钮,Microsoft SQL Server就开始安装,如图1-6所示。 图1-6 “Microsoft SQL Server安装”窗口 (5) 安装结束后,单击“下一步”按钮,出现 “注册信息”界面,在“姓名”和“公司”文本框中输入相应的信息。接着单击“下一步”按钮,出现“要安装的组件”界面,根据需要选择相应的组件,然后单击“下一步”按钮,进入“实例名”窗口,如图1-7所示。 图1-7 “实例名”窗口 (6) 在“实例名”界面中,为安装的软件选择默认实例或已命名实例后,单击“下一步”按钮,进入“服务账户”窗口,如图1-8所示。 图1-8 “服务账户”窗口 (7) 在“服务账户”窗口中,为SQL Server服务账户指定用户名、密码和域名。根据需要设置完毕后,单击“下一步”按钮,进入“身份验证模式”窗口,如图1-9所示。 图1-9 “身份验证模式”界面 (8) 设置系统要使用的身份验证模式。默认选择“Windows身份验证模式”选项,不用设置密码;如果选择“混合模式”,需要设置超级用户sa的登录密码,如图1-10所示。 图1-10 选择“混合模式”后的界面 选择身份验证模式后,单击“下一步”按钮,进入“排序规则设置”界面,如图1-11所示。 图1-11 “排序规则设置”窗口 (9) 在“排序规则设置”窗口中指定SQL Server实例的排序规则,可以将一个账户用于SQL Server和Analysis Services,也可以为各个组件分别指定排序规则。使用默认设置,单击“下一步”按钮,进入“错误和使用情况报告设置”界面。在“错误和使用情况报告设置”界面中,可以选择错误和使用情况报告发送方式,也可以不选,然后单击“下一步”按钮,进入“准备安装”窗口,如图1-12所示。 图1-12 “准备安装”窗口 (10) 在“准备安装”界面中,显示准备安装的组件,单击“安装”按钮开始安装组件,此过程比较漫长,因为需要安装每个功能组件,“安装进度”界面如图1-13所示。在安装组件时,系统会提示用户插入第2张光盘。 图1-13 “安装进度”窗口 (11) 在安装进度界面中,当所有的产品名称前面的符号都为绿色的“√”时,表明所有的组件都已经安装成功,单击“下一步”按钮,弹出“完成Microsoft SQL Server 2005安装”窗口,如图1-14所示。 图1-14 “完成Microsoft SQL Server 2005安装”窗口 (12) 单击“完成”按钮即可完成Microsoft SQL Server 2005的安装。 1.3 SQL Server 2005的配置 SQL Server 2005是运行于网络环境下的数据库管理系统,它支持网络中不同计算机上的多个用户同时访问和管理数据库资源。服务器是SQL Server 2005数据库管理系统的核心,它为客户端提供网络服务,使用户能够远程访问和管理SQL Server 数据库。配置服务器的过程就是为了充分利用Microsoft SQL Server 系统资源而设置Microsoft SQL Server服务器默认行为的过程。合理地配置服务器,可以加快服务器响应请求的速度、充分利用系统资源、提高系统的工作效率。本节重点讲述如何注册服务器和如何配置服务器选项。 1.3.1 注册服务器 为了管理、配置和使用Microsoft SQL Server 2005系统,必须使用Microsoft SQL Server Management Studio工具注册服务器。注册服务器就是为Microsoft SQL Server 客户机/服务器系统确定数据库所在的一台机器,该机器作为服务器,可以为客户端的各种请求提供服务。 1. 注册服务器 使用Microsoft SQL Server Management Studio工具注册服务器的步骤如下: (1) 打开Microsoft SQL Server Management Studio工具,选择“视图”|“已注册”命令或者按下快捷键Ctrl+Alt+G,在打开的“已注册的服务器”窗口中选中“数据库引擎”的图标。 (2) 在“数据库引擎”上单击鼠标右键,从弹出的快捷菜单中选择“新建”|“服务器注册”命令,即可看到如图1-15所示的“新建服务器注册”窗口。选中“常规”选项卡,可以在该选项卡中输入将要注册的服务器名称。在“服务器名称”下拉列表框中,既可以输入服务器名称,也可以从列表中选择一个服务器名称。本例在列表中选择了8A3FB93D1BF8422作为服务器名称。从“身份认证”下拉列表框中可以选择身份验证模式,在这里选择“Windows身份验证”。 图1-15 “新建服务器注册”窗口的“常规”选项卡 (3) 选择“新建服务器注册”窗口的“连接属性”选项卡,进入如图1-16所示的界面,在该选项卡中可以设置连接到的数据库、网络以及其他连接属性。在“连接到数据库”下拉列表框中可以指定用户将要连接到的数据库名称。如果选择“<默认值>”选项,即表示连接到Microsoft SQL Server系统中当前用户默认使用的数据库。 图1-16 “新建服务器注册”窗口的“连接属性”选项卡 如果选择“<浏览服务器>”选项,则会出现如图1-17所示的“查找服务器上的数据库”窗口,在该对话框中可以指定当前用户连接服务器时默认的数据库。 图1-17 “查找服务器上的数据库”窗口 (4) 然后单击图1-16所示界面中的“测试”按钮,可以对当前设置的连接属性进行测试。如果出现如图1-18所示的“新建服务器注册”消息框,则表示连接属性的设置是正确的。 图1-18 “新建服务器注册”消息框 (5) 完成连接属性设置后,单击图1-16所示界面中的“保存”按钮,即可完成连接属性的设置操作。接着单击图1-15所示界面中的“保存”按钮,即可完成新建服务器注册的操作。新注册的服务器名称出现在列表中。 2. 修改服务器的注册 在企业管理器中,在需要修改的服务器名称上单击鼠标右键,在弹出的快捷菜单中选择“编辑SQL Server注册属性”命令,在打开的对话框中,用户可以修改身份验证模式和服务器组等属性。 3. 删除服务器 在需要删除的服务器名称上单击鼠标右键,在弹出的快捷菜单中选择“删除”命令。在弹出的“确认删除”对话框中单击“是”按钮即可完成删除操作,如图1-19所示。 图1-19 “确认删除”注册服务器界面 需要说明以下几点: (1) 第一次运行SQL Server 2005企业管理器时,它将自动注册本地SQL Server 2005所有已经安装的实例。   (2) 如果有一个已注册的SQL Server实例,接着安装更多的SQL Server实例,则只注册第一个SQL Server实例。可以启动注册服务器向导或使用“已注册的SQL Server属性”对话框来注册其他的服务器。   (3) 如果连接到远程服务器有困难,可以使用客户端网络使用工具来配置对该服务器的访问。 1.3.2 配置服务器选项 在Microsoft SQL Server 2005系统中,可以使用Microsoft SQL Server Management Studio、sp_configure系统存储过程、SET语句等方式设置服务器。下面,以使用Microsoft SQL Server Management Studio工具配置服务器为例来说明如何配置服务器选项。 配置服务器选项的步骤如下: (1) 在Microsoft SQL Server Management Studio中的“对象资源管理器”中右击需要设置的服务器名称,从弹出的快捷菜单中选择“属性”命令,打开如图1-20所示的“服务器属性”对话框。该对话框包含了8个选项页,通过这8个选项页可以查看或设置服务器的常用选项值。 “常规”选项页如图1-20所示,该选项页列出了当前服务器的产品名称、操作系统名称、平台名称、版本号、使用的语言、当前服务器的最大内存数量、当前服务器的处理器数量、当前SQL Server安装的根目录、服务器使用的排序规则以及是否已经群集化等信息。 图1-20 “服务器属性”对话框的“常规”选项页界面 (2) “服务器属性”对话框的“内存”选项页如图1-21所示,在该选项页中可以设置与内存管理有关的选项。 图1-21 “服务器属性”对话框的“内存”选项页界面 “使用AWE分配内存”选项表示在当前服务器上使用AWE技术执行超大物理内存,从理论上说,32位地址最多可以映射4GB内存,但是,通过使用AWE技术,SQL Server系统可以使用远远超过4GB的内存空间。一般情况下,只有在使用大型的数据库系统时才选中该选项。 如果需要设置服务器可以使用的内存范围,可以通过“最小服务器内存(MB)”和“最大服务器内存(MB)”两个文本框来完成设置。 如果希望为索引指定占用的内存,可以通过设置“创建索引占用的内存”文本框来完成。当“创建索引占用的内存”文本框中的值为0时,表示系统动态为索引分配内存。查询也需要耗费内存,在“每次查询占用的最小内存(KB)”文本框中可以查看查询所占内存的大小,默认值是1024。 需要说明的是,该选项页上有两个单选按钮,即“配置值”单选按钮和“运行值”单选按钮。配置值指的是当前设置了但是还没有真正起作用的选项值,运行值指的是当前系统正在使用的选项值。在对某个选项进行设置之后,选中“运行值”单选按钮可以查看该设置是否立即生效。如果这些设置不能立即生效,必须停止和重新启动服务器该设置才能生效。 (3) “服务器属性”对话框的“处理器”选项页如图1-22所示,在该选项页中,可以设置与服务器的处理器相关的选项。只有服务器上安装了多个处理器时,“处理器关联”和“I/O关联”才有意义。 图1-22 “服务器属性”对话框的“处理器”选项页界面 在Windows操作系统中,有时为了执行多个任务,需要在不同的处理器之间进行移动,以便处理多个线程。但是,这种移动会使处理器缓存不断地重新加载数据,从而降低了Microsoft SQL Server系统的性能。如果事先将每个处理器分配给特定的线程,则可以避免处理器缓存重新加载数据,从而提高了Microsoft SQL Server系统的性能。线程与处理器之间的这种关系被称为处理器关联。 “最大工作线程数”选项可以用来设置Microsoft SQL Server进程的工作线程数。如果客户端比较少,可以为每一个客户端设置一个线程;如果客户端很多,可以为这些客户端设置一个工作线程池。当该值为0时,表示系统动态分配线程。最大线程数受到服务器硬件的限制,例如,当服务器的CPU个数低于4时,32位机器的最大可用线程数是256,64位机器的最大可用线程数是512。 “提升SQL Server的优先级”复选框选项表示设置SQL Server进程的优先级高于操作系统上的其他进程。一般情况下,选中“使用Windows纤程(轻型池)”复选框,通过减少上下文的切换频率来提高系统的吞吐量。 (4) “服务器属性”对话框的“安全性”选项页如图1-23所示,在该选项页中,可以设置与服务器身份认证模式、登录审核等安全性有关的选项。 图1-23 “服务器属性”对话框的“安全性”选项页界面 在该选项页中可以修改系统的身份验证模式。可以通过设置登录审核功能,将用户的登录结果记录在错误日志中。如果选中“无”单选按钮,表示不对登录过程进行审核。如果选中“仅限登录失败的登录”单选按钮,则表示只是记录登录失败的事件。如果选中“失败和成功的登录”单选按钮,表示无论是登录失败事件还是登录成功事件都将记录在错误日志中,以便对这些登录事件进行跟踪和审核。这种登录审核仅仅是对登录事件的审核。 如果希望对执行某条语句的事件进行审核、对使用某个数据库对象的事件进行审核,可以选中“启用C2审核跟踪”复选框,该选项可以在日志文件中记录对语句、对象访问的事件。 如果选中“启用服务器代理账户”复选框,则需要指定代理账户名称和密码。注意:如果服务器代理账户的权限过大,有可能被恶意用户利用,形成安全漏洞,危及系统安全。因此,服务器代理账户应该只具有执行既定工作所需的最低权限。 所有权链接通过对某个对象的权限进行设置,允许对多个对象的访问进行管理,但是,这种所有权链接是否可以跨数据库,需要通过“跨数据库所有权链接”复选框来进行设置。 (5) “服务器属性”对话框的“连接”选项页如图1-24所示,在该选项页中可以设置与连接服务器有关的选项和参数。 “最大并发连接数(=0无限制)”文本框选项用于设置当前服务器允许的最大并发连接数量。并发连接数量是同时访问服务器的客户端数量,这种限制受到技术和商业两方面的限制。其中,技术上的限制可以在这里设置,商业上的限制是通过合同或协议确定的。将该选项设置为0,表示从技术上来讲,不对并发连接数量进行限制,理论上允许有无数多的客户端同时访问服务器。 图1-24 “服务器属性”对话框的“连接”选项页界面 在Microsoft SQL Server系统中,查询语句执行时间的长短是通过查询调控器进行限定的。如果在“使用查询调控器防止查询长时间运行”文本框中指定一个正数,那么查询调控器将不允许查询语句的执行时间超过这个设定值。如果指定为0,则表示不限制查询语句的执行时间。另外,可以通过设置“默认连接选项”中的列表清单来控制查询语句的执行行为。 如果希望设置与远程服务器连接有关的操作,可以对“允许远程连接到此服务器”复选框、“远程查询超时值(秒,0=无超时)”文本框和“需要将分布式事务用于服务器到服务器的通信”复选框进行设置。 (6) “服务器属性”对话框的“数据库设置”选项页如图1-25所示,在该选项页中,可以设置与创建索引、执行备份和还原等操作有关的选项。 (7) “服务器属性”对话框的“高级”选项页如图1-26所示,在该选项页中,可以设置有关服务器的并行操作行为、网络行为等。 图1-25 “服务器属性”对话框的“数据库设置”选项页界面 图1-26 “服务器属性”对话框的“高级”选项页界面 (8) “服务器属性”对话框的“权限”选项页如图1-27所示,在该选项页中,可以设置和查看当前SQL Server实例中登录名或角色的权限信息。 图1-27 “服务器属性”对话框的“权限”选项页界面 至此就完成了服务器的配置。 1.4 SQL Server 2005常用的管理工具 Microsoft SQL Server 2005系统提供了大量的管理工具,通过这些管理工具,可以实现对系统的快速、高效的管理。这些管理工具主要包括:SQL Server Management Studio、Business Intelligence Development Studio、SQL Server Profiler、SQL Server Configuration Manager、Database Engine Tuning Advisor以及大量的命令行和实用工具。本节将介绍这些工具的主要作用和特点。 1.4.1 SQL Server Management Studio Microsoft SQL Server Management Studio是Microsoft SQL Server 2005提供的一种新的集成环境。Microsoft SQL Server 2005将服务器管理和业务对象创建合并到以下两种集成环境中:SQL Server Management Studio和Business Intelligence Development Studio。这两种环境使用解决方案和项目来进行管理和组织,同时还提供了完全集成的源代码管理功能,能够同Visual Studio 2005集成,但并非是它的一部分。 SQL Server Management Studio是一个集成的环境,用于访问、配置、控制、管理和开发SQL Server的所有工作。实际上,SQL Server Management Studio组合了大量的图形工具和丰富的脚本编辑器,大大方便了技术人员和数据库管理员对SQL Server系统的各种访问,它是SQL Server 2005中最重要的管理工具组件。SQL Server Management Studio将SQL Server 2000中的企业管理器、查询分析器和服务管理器的各种功能组合到一个单一环境中。此外,SQL Server Management Studio还提供了一种环境,用于管理Analysis Services、Integration Services、Reporting Services和XQuery。此环境为开发者提供了一个熟悉的体验环境,为数据库管理人员提供了一个单一的实用工具,使用户能够通过易用的图形工具和丰富的脚本完成任务。 SQL Server管理平台不仅能够配置系统环境和管理SQL Server,而且由于它能够以层叠列表的形式来显示所有的SQL Server对象,因而所有SQL Server对象的建立与管理工作都可以通过它来完成。利用SQL Server Management Studio可以完成的操作有:管理SQL Server 服务器;建立与管理数据库;建立与管理表、视图、存储过程、触发程序、角色、规则、默认值等数据库对象以及用户定义的数据类型;备份数据库和事务日志、恢复数据库;复制数据库;设置任务调度;设置报警;提供跨服务器的拖放控制操作;管理用户账户;建立T-SQL命令语句。 要打开Microsoft SQL Server 2005 SQL Server Management Studio,可以单击“开始”菜单,然后单击Microsoft SQL Server 2005程序组中的“SQL Server Management Studio”,打开如图1-28所示的界面。 图1-28 连接到服务器界面 若要使用SQL Server Management Studio,首先必须在图1-28所示的对话框中注册。在“服务器类型”、“服务器名称”、“身份验证”选项中输入或选择正确的信息(默认情况下不用选择,因为在安装时已经设置完毕),然后单击“连接”按钮即可注册登录到SQL Server Management Studio,如图1-29所示。 图1-29 SQL Server Management Studio主界面 SQL Server Management Studio的工具组件包括:已注册的服务器、对象资源管理器、解决方案资源管理器、模板资源管理器、摘要页。若要显示某个工具,选择“视图”下拉菜单中相应的工具名称即可。 “查询编辑器”是以前版本中Query Analyzer工具的替代物,使用“查询编辑器”可以编写和执行T-SQL语句,并且可以迅速查看这些语句的执行结果,以便分析和处理数据库中的数据。与Query Analyzer工具总是工作在连接模式下不同的是,“查询编辑器”既可以工作在连接模式下,又可以工作在断开模式下。另外,“查询编辑器”还支持彩色代码关键字、可视化地显示语法错误、允许开发人员运行和诊断代码等功能。这是一个非常实用的工具,在SQL Server Management Studio工具栏中,单击工具栏左侧的“新建查询”按钮可以打开查询分析器,如图1-30所示。可以在其中输入要执行的T-SQL语句,然后单击“执行”按钮,或按Ctrl+E键执行此T-SQL语句,查询结果将显示在结果窗口中。 图1-30 SQL Server Management Studio查询分析器界面 1.4.2 Business Intelligence Development Studio SQL Server 2005商业智能开发平台(SQL Server 2005 Business Intelligence Development Studio)是一个集成的环境,用于开发商业智能构造(如多维数据集、数据源、报告和Integration Services软件包),如图1-31所示。SQL Server 2005商业智能开发平台包含了一些项目模板,这些模板可以提供开发特定构造的上下文。 图1-31 SQL Server 2005 商业智能开发平台界面 在商业智能开发平台中开发项目时,可将其作为某个解决方案的一部分进行开发,而该解决方案独立于具体的服务器。例如,可以在同一个解决方案中包括Analysis Services项目、Integration Services项目和Reporting Services项目。在开发过程中,可以将对象部署到测试服务器中进行测试,然后将项目的输出结果部署到一个或多个临时服务器或生产服务器。 SQL Server 2005商业智能开发平台可用于开发商业智能应用程序。如果要实现使用SQL Server数据库服务的解决方案,或者要管理并使用SQL Server、Analysis Services、Integration Services或Reporting Services的现有解决方案,则应当使用SQL Server Management Studio。如果要开发并使用Analysis Services、Integration Services或Reporting Services的方案,则应当使用SQL Server 2005商业智能开发平台。 1.4.3 SQL Server Profiler SQL Server分析器(SQL Server Profiler)是一个图形化的管理工具,用于监督、记录和检查SQL Server 2005数据库的使用情况。对系统管理员来说,它是一个连续实时地捕获用户活动情况的间谍。 可以通过多种方法启动SQL Server Profiler,以支持在各种情况下收集跟踪输出。例如,可以通过“开始”菜单启动SQL Server Profiler。SQL Server Profiler启动以后,选择“文件”|“新建跟踪”命令,打开如图1-32所示的“跟踪属性”窗口。 图1-32 SQL Server Profiler的“常规”选项卡界面 在“常规”选项卡中,可以设置跟踪名称和跟踪提供程序名称、类型,所使用的模板,保存的位置,是否启用跟踪停止时间设置等。 在“事件选择”选项卡中,可以设置需要跟踪的事件和事件列,如图1-33所示。 图1-33 SQL Server Profiler的“事件选择”选项卡界面 SQL Server Profiler是用于捕获来自服务器的SQL Server 2005事件的工具,这些事件保存在一个跟踪文件中,可在以后对该文件进行分析,也可以在试图诊断某个问题时,用它来重播某一系列的步骤。SQL Server Profiler能够支持以下多种活动: ● 逐步分析有问题的查询,以便找到问题的原因。 ● 查找并诊断执行速度慢的查询。 ● 捕获导致某个问题的一系列T-SQL语句,然后利用所保存的跟踪,在某台测试服务器上复制此问题,接着在该测试服务器上诊断问题。 ● 监视SQL Server 的性能以便优化工作负荷。 ● 使性能计数器与诊断问题关联。 SQL Server Profiler还支持对SQL Server 实例上执行的操作进行审核。审核将记录与安全相关的操作,供安全管理员以后复查。 1.4.4 SQL Server Configuration Manager SQL Server Configuration Manager(SQL Server配置管理器)用于管理与SQL Server 相关联的服务,配置SQL Server 使用的网络协议以及从SQL Server客户端计算机管理网络连接配置。可以通过“开始”菜单来打开SQL Server Configuration Manager界面,如图1-34所示。 图1-34 SQL Server Configuration Manager的界面 SQL Server配置管理器是一个Microsoft管理控制台管理单元,它集成了以下工具的功能:服务器网络实用工具、客户端网络实用工具和服务管理器。通过设置“控制面板”|“管理工具”|“计算机管理”组件,也可以实现对SQL Server Configuration Manager的操作,“计算机管理”窗口如图1-35所示。 图1-35 “计算机管理”窗口 1.4.5 Database Engine Tuning Advisor Database Engine Tuning Advisor(数据库引擎优化顾问)工具可以完成帮助用户分析工作负荷、提出创建高效率索引的建议等功能。借助数据库引擎优化顾问,用户不必详细了解数据库的结构就可以选择和创建最佳的索引、索引视图、分区等。Database Engine Tuning Advisor的主界面如图1-36所示。 在SQL Server 2005系统中,使用数据库引擎优化顾问工具可以执行如下的操作: ● 通过使用查询优化器分析工作负荷中的查询,推荐数据库的最佳索引组合。 ● 为工作负荷中引用的数据库推荐对齐分区和非对齐分区。 ● 推荐工作负荷中引用的数据库的索引视图。 ● 分析所建议的更改将会产生的影响,包括索引的使用、查询在工作负荷中的性能等。 ● 推荐为执行一个小型的问题查询集而对数据库进行优化的方法。 ● 允许通过指定磁盘空间约束等选项对推荐进行自定义。 ● 提供对所给工作负荷的建议执行效果的汇总报告。 图1-36 数据库引擎优化顾问的界面 1.4.6 实用工具 Microsoft SQL Server 2005系统不仅提供了大量的图形化工具,还提供了大量的命令行实用工具。使用这些命令,可以与Microsoft SQL Server 2005进行交互,但不能在图形界面下运行,只能在Windows命令提示符下输入命令行及参数允许(即相当于DOS命令)。这些命令行实用工具包括:bcp、dta、dtexec、dtutil、nscontrol、osql、rs、rsconfig、rskeymgmt、sac、sqlcmd、sqlmaint、sqlservr、sqlwb、tablediff等,这些工具的功能如下。 ● bcp实用工具可以在Microsoft SQL Server 2005实例和用户指定格式的数据文件之间进行数据复制。 ● dta实用工具是数据库引擎优化顾问的命令提示符版本。通过使用dta实用工具,用户可以在应用程序和脚本中使用数据库引擎优化顾问功能,从而扩大了数据库引擎优化顾问的作用范围。 ● dtexec实用工具用于配置和执行Microsoft SQL Server 2005 Integration Services (SSIS)包。用户通过使用dtexec实用工具可以访问所有SSIS包的配置信息和执行功能,这些信息包括连接、属性、变量、日志、进度指示等。 ● dtutil实用工具主要用于管理SSIS包,这些管理操作包括验证包的存在性以及对包进行复制、移动、删除等操作。 ● nscontrol实用工具与Microsoft SQL Server 2005 Notification Services服务有关,用于管理、部署、配置、监视和控制通知服务,并提供了创建、删除、使能、修复和注册等与通知服务有关的命令。 ● osql实用工具可以用来输入和执行T-SQL语句、系统过程、脚本文件等。该工具通过ODBC与服务器进行通信,实际上,在Microsoft SQL Server 2005系统中,sqlcmd实用工具可以代替osql实用工具。 ● rs实用工具与Microsoft SQL Server 2005 Reporting Services服务有关,可以用于管理和运行报表服务器的脚本。 ● rsconfig实用工具也是与报表服务相关的工具,可以用来对报表服务连接进行管理。 ● rskeymgmt实用工具也是与报表服务相关的工具,可以用来提取、还原、创建、删除对称密钥。 ● sac实用工具与Microsoft SQL Server 2005外围应用设置相关,可以用来导入、导出这些外围应用设置,方便了多台计算机上的外围应用设置。 ● sqlcmd实用工具可以在命令提示符下输入T-SQL语句、系统过程和脚本文件。实际上,该工具是作为osql实用工具和isql实用工具的替代工具而新增的,它通过OLE DB与服务器进行通信。 ● sqlmaint实用工具可以执行一组指定的数据库维护操作,这些操作包括DBCC检查、数据库备份、事务日志备份、更新统计信息、重建索引并且生成报表,以及把这些报表发送到指定的文件和电子邮件账户。 ● sqlservr实用工具的作用是在命令提示符下启动、停止、暂停、继续Microsoft SQL Server 的实例。 ● sqlwb实用工具可以在命令提示符下打开SQL Server Management Studio,并且可以与服务器建立连接,打开查询、脚本、文件、项目、解决方案等。 ● tablediff实用工具用于比较两个表中的数据是否一致,对于排除复制中出现的故障非常有用。 1.5 习 题 1. 简述SQL Server 2005系统中主要数据库对象的特点。 2. SQL Server 2005数据库管理系统产品分为哪几种版本,各有什么特点? 3. SQL Server 2005包含哪些组件,其功能各是什么? 4. 安装SQL Server 2005前应该做什么准备工作? 5. SQL Server 2005支持哪两种身份验证? 6. 如何注册和启动SQL Server 服务器? 7. 熟悉企业管理器和查询分析器的功能和使用。 ? 30 ? SQL Server 2005数据库应用与开发教程 ? 31 ? 第1章 SQL Server 2005基础知识