SQL Server 2008宝典(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2部分 准备篇

第3章 初识SQL Server 2008

本章包括

◆ SQL Server 2008的后台服务

◆ SQL Server 2008客户端上的管理工具

◆ 如何使用SQL Server Management Studio

安装完成之后,就可以使用SQL Server 2008了,本章将介绍SQL Server 2008的后台服务、管理工具,以及怎么使用SQL Server Management Studio工具和查询编辑器,最后将介绍SQL Server 2008自带的示例数据库,以及本书使用的示例数据库的安装方法。

3.1 服务器上的后台服务

在SQL Server 2008初上市的时候,很多用户知道SQL Server 2008 Express Edition可以免费下载并使用,纷纷去微软的网站上下载并安装。安装完之后才发现,在【开始】菜单的【所有程序】子菜单里并没有什么可以运行的工具。这是因为SQL Server 2008 Express Edition是服务器端的程序,还需要安装Microsoft SQL Server 2008 Express Edition工具包,才能利用其管理SQL Server 2008服务器。

在SQL Server 2008服务器程序安装完毕之后,其服务器端组件是以“服务”的形式在计算机系统里运行的。“服务”是一种在系统后台运行的应用程序,常见的服务有Web服务、打印服务和事件日志服务等。运行的服务可以不在操作系统桌面上显示用户界面,它只是在后台默默地完成需要完成的任务,其查看方式为:选择【管理工具】→【服务】选项。

如图3.1所示,在Windows操作系统的【服务】窗口里,可以查看已经安装了哪些SQL Server 2008服务组件。下面对这些组件逐个进行介绍。

图3.1 查看SQL Server 2008服务组件

3.1.1 SQL Server服务

SQL Server服务就是SQL Server 2008的数据引擎,也是SQL Server 2008的核心服务。启动SQL Server 2008数据引擎实例时,也就启动了SQL Server服务。只有在启动SQL Server服务之后,用户才可以与数据引擎服务器建立连接,才可以向数据库发出SQL语句,以执行例如读出、写入和查询等数据操作,完成事务处理、维护数据完整和安全等管理操作。

SQL Server服务可以在本地或远程作为服务来启动和停止。如果安装SQL Server 2008时选择的是默认实例,则在图3.1所示的窗口中看到的服务名为“SQL Server (MSSQLSERVER)”,如果是命名实例,看到的则是“SQL Server (实例名)”。在图3.1所示的窗口中,既有“SQL Server (MSSQLSERVER)”服务,又有“SQL Server (SAMPLES)”服务,这表示本例中除了安装了默认的数据库引擎后台服务实例,还安装了一个名为“SAMPLES”的数据库引擎后台服务实例。

3.1.2 SQL Server Active Directory Helper服务

SQL Server Active Directory Helper是一个不识别实例的服务,它由所有已安装的SQL Server实例共享,并且只能安装一次。

SQL Server Active Directory Helper的作用是支持与Active Directory的集成。Active Directory是活动目录服务,可分层存储网络对象的信息,并向管理员、用户和应用程序提供这些信息。SQL Server可以和Active Directory集成。

3.1.3 SQL Server Agent服务

SQL Server Agent,也就是SQL Server代理,它可以执行数据库管理员安排的管理任务,也就是所谓的“作业”。一个作业可以包含一个或多个步骤,每个步骤完成一个任务,例如数据库备份、执行SQL语句等。SQL Server代理可以在事先规定好的时间自动去运行这些作业,也可以在响应特定事件时来运行这些作业。例如,可以设定在每天凌晨三点,上网人数最少的时候备份数据库,如果备份出现问题,则用电子邮件通知管理员。

如图3.1所示,默认实例的SQL Server代理的服务名称为“SQL Server Agent (MSSQLSERVER)”,命名实例的SQL Server代理的服务名称为“SQL Server Agent (实例名)”。

3.1.4 SQL Server Analysis Services服务

SQL Server Analysis Services,是为商业智能应用程序提供联机分析处理(OLAP)和数据挖掘功能的服务。OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的,这些信息是从原始数据直接转换过来的,它们以用户容易理解的方式反映企业的真实情况。数据挖掘是从大量的数据中抽取潜在的、有价值的数据(模型或规则)的过程。

了解什么是OLAP和数据挖掘之后,就可以明白SQL Server Analysis Services是做什么的了。如图3.1所示,默认实例的SQL Server Analysis Services服务名称为“SQL Server Analysis Services (MSSQLSERVER)”,命名实例的SQL Server Analysis Services服务名称为“SQL Server Analysis Services (实例名)”。

3.1.5 SQL Server Browser服务

SQL Server Browser服务的功能是将SQL Server的连接信息提供给客户端计算机。在启动一个SQL Server实例之后,如果SQL Server启动了TCP/IP协议,该实例服务器将被分配一个TCP/IP端口,通过这个端口和客户端程序进行通信。如果SQL Server启用的是命名管道协议,SQL Server就会侦听这个命名管道,并通过这个管道与客户端程序进行通信。然而,一个实例只能使用一个端口或管道,因此SQL Server要为不同的实例分配不同的端口或管道,这么一来,客户端程序就很难确定某个端口或管道对应哪个实例。

此时,SQL Server Browser就派上用场了。SQL Server Browser在启动的时候就使用了UDP 1434端口,然后从注册表里读取计算机上的所有实例信息。当有客户端请求访问SQL Server数据库的时候,客户端程序将使用1424端口的SQL Server Browser发送一条UDP消息,SQL Server Browser收到消息后,将用请求的实例的TCP/IP端口或命名管道做出响应。然后,客户端程序就可以用这个TCP/IP端口或命名管道来和SQL Server的实例连接并通信了。

SQL Server Browser服务也是一个不识别实例的服务,它由所有已安装的SQL Server实例共享。

3.1.6 SQL Server FullText Search服务

SQL Server FullText Search服务的功能是快速创建结构化和半结构化数据的内容和属性的全文索引,以便对数据进行快速的文字搜索。全文搜索可以为任意大小的应用程序提供强大的搜索功能。在对大量非结构化的文本数据进行查询时,使用全文搜索比用SQL语言中的Like语句的速度要快得多。例如,对数百万行文本数据执行Like查询,可能要花费几分钟才能返回查询结果,但如果使用全文搜索,只需要几秒钟就可以得到结果。

如图3.1所示,默认实例的SQL Server FullText Search服务名称为“SQL Server FullText Search (MSSQLSERVER)”,命名实例的SQL Server FullText Search服务名称为“SQL Server FullText Search (实例名)”。

3.1.7 SQL Server lntegration Services服务

SQL Server Integration Services为SSIS包的存储和执行提供管理支持。该服务包括生成并调试包的图形工具和向导,执行例如FTP操作、SQL语句执行和电子邮件消息传递等工作流功能的任务,用于提取和加载数据的数据源和目标,用于清理、聚合、合并和复制数据的转换,管理服务,即用于管理Integration Services包的Integration Services服务,以及用于对Integration Services对象模型编程的应用程序接口(API)。

SQL Server Integration Services也是一个不识别实例的服务,默认实例和命名实例共用一个集成服务。

3.1.8 SQL Server Reporting Services服务

SQL Server Reporting Services的功能是:管理、执行、呈现、计划和传递报表。它用于生成从多种关系数据源和多维数据源提取内容的企业报表,发布能以各种格式查看的报表,以及集中管理安全性和订阅。创建的报表可以通过基于Web的连接进行查看,也可以作为Microsoft Windows应用程序的一部分或SharePoint门户进行查看。

SQL Server Reporting Services包含用于创建和发布报表及报表模型的图形工具和向导、用于管理Reporting Services的报表服务器管理工具,以及用于对Reporting Services对象模型进行编程和扩展的应用程序编程接口(API)。

如图3.1所示,默认实例的SQL Server Reporting Services服务名称为“SQL Server Reporting Services (MSSQLSERVER)”,命名实例的SQL Server Reporting Services服务名称为“SQL Server Reporting Services (实例名)”。

3.1.9 SQL Server VSS Writer服务

SQL Server VSS Writer(SQL编写服务器)的功能是:通过卷影复制服务(VSS)框架,提供用来备份和还原SQL Server 2008的附加功能。

卷影复制服务能使应用程序连续写入卷的同时进行卷备份,它能让更新磁盘数据的应用程序和备份数据的应用程序协同工作。SQL Server通过卷影复制服务,可以让Windows的备份程序在SQL Server运行的同时备份SQL Server的数据文件。SQL Server VSS Writer也是一个不识别实例的服务,默认实例和命名实例共用一个集成服务。

3.2 客户端管理工具

安装完SQL Server 2008的客户端之后,在Windows操作系统的【开始】→【所有程序】→【Microsoft SQL Server 2008】菜单下可以找到很多图形化的管理工具。

3.2.1 SQL Server Management Studio企业管理器

SQL Server Management Studio是SQL Server 2008中最重要的管理工具,提供了用于数据库管理的图形工具和功能丰富的开发环境。SQL Server Management Studio将原来的SQL Server 2000中的企业管理器、Analysis Manager和SQL查询分析器功能集合为一体,还可以用它来编写MDX,XML和XMLA语句。

使用Management Studio的方法如下:

step 1 在Windows操作系统中选择【开始】→【所有程序】→【Microsoft SQL Server 2008】→【SQL Server Management Studio】选项,启动程序。

step 2 在图3.2所示的对话框中,单击【连接】按钮,连接到SQL Server服务器。

图3.2 【连接到服务器】对话框

step 3 与服务器连接之后,出现SQL Server Management Studio主管理界面,这是一个功能强大而且灵活的工具,如图3.3所示。

图3.3 SQL Server Management Studio的主界面

3.2.2 Reporting Services配置

Reporting Services配置,也就是报表服务配置,其作用是配置和管理SQL Server 2008的报表服务器。

报表服务的配置方法如下:

step 1 选择【开始】→【所有程序】→【Microsoft SQL Server 2008】→【配置工具】→【Reporting Services配置】选项,打开图3.4所示的【Reporting Services配置连接】对话框。

图3.4 【Reporting Services配置连接】对话框

step 2 输入正确的服务器名称和实例名之后,单击【连接】按钮,弹出如图3.5所示的【Reporting Services配置管理器】对话框,在此可以进行下列操作。

图3.5 配置报表服务器

◆ 启动或停止报表服务器。

◆ 设置报表服务器的虚拟目录。

◆ 设置报表管理器的虚拟目录。

◆ 更新报表服务器的Windows服务账户。

◆ 设置ASP.NET的服务账户,指定运行报表服务器的Web服务的应用程序池。

◆ 连接或创建报表服务器数据库、设置报表服务器在运行时使用的连接凭据。

◆ 备份、还原、更改或删除报表服务器的加密密钥。

◆ 查看报表服务器的初始化状态并配置扩展部署。已初始化的服务器可将加密数据存储在报表服务器中。

◆ 为报表服务器发送电子邮件指定SMTP服务设置。

◆ 设置报表服务器的执行账户。

3.2.3 SQL Server Configuration Manager配置管理器

SQL Server Configuration Manager(SQL Server配置管理器)是一个管理工具,用于管理与SQL Server有关的连接服务,本章前面提到的SQL Server使用的网络协议就可以用SQL Server配置管理器来配置。SQL Server客户端连接服务器端的连接配置,也是在这里设置。

SQL Server配置管理器的使用方法如下:

step 1 在Windows操作系统中选择【开始】→【所有程序】→【Microsoft SQL Server 2008】→【配置工具】→【SQL Server Configuration Manager】选项,启动SQL Server配置管理器,如图3.6所示。

图3.6 SQL Server配置管理器

step 2 从图3.6中可以看出,SQL Server配置管理器实际上是将SQL Server旧版本中的服务管理器、服务器网络实用工具和客户端网络实用工具三个工具集成在了同一个工具里。当然,它一样可以完成这三个工具所能完成的工作。

SQL Server服务:可以用来启动、暂停、恢复和停止服务,还可以查看和更改每个服务的登录方式和启动模式。

SQL Server网络配置:可以用来配置服务器端的网络协议和连接选项,其中包括强制协议加密、查看别名属性或启用/禁用协议等功能。

SQL Native Client 10.0配置:与SQL Server网络配置功能相似,不同的是该工具配置的是客户端的网络协议和连接选项。该工具还能创建其客户端上的Microsoft SQL Server客户端的别名。

3.2.4 SQL Server错误和使用情况报告

SQL Server 2008的错误和使用情况报告的工作方式有两种:

◆ 将SQL Server 2008所有组件和实例的错误报告发送到微软公司或错误报告服务器。

◆ 将SQL Server 2008所有组件和实例的功能使用情况报告发送到微软。

微软公司希望收集到这些错误信息和使用情况,以便于改进SQL Server。

SQL Server 2008的错误和使用情况报告的使用方法如下:

step 1 在Windows操作系统中选择【开始】→【所有程序】→【Microsoft SQL Server 2008】→【配置工具】→【SQL Server 2008的错误和使用情况报告】选项,打开如图3.7所示的【错误和使用情况报告设置】对话框。

图3.7 【错误和使用情况报告设置】对话框

step 2 在对话框中选择需要的发送方式,然后单击【确定】按钮完成设置。

3.2.5 SQL Server Profiler探查器

SQL Server Profiler,也就是SQL Server事件探查器,与SQL Server旧版本中的事件探查器一样,它是用于从服务器上捕获SQL Server 2008事件的工具。捕捉到的事件保存在一个跟踪文件中,根据这个跟踪文件,可以分析有问题的查询并找到问题所在,可以查找导致SQL Server运行缓慢的查询,可以捕获导致某个问题的T-SQL语句,可以监视SQL Server的性能等。

SQL Server事件探查器的使用方法如下:

step 1 在Windows操作系统中选择【开始】→【所有程序】→【Microsoft SQL Server 2008】→【性能工具】→【SQL Server Profiler】选项,打开SQL Server Profiler程序的主界面,如图3.8所示。

图3.8 SQL Server Profiler主界面

step 2 在如图3.8所示的界面中单击【文件】菜单中的【新建跟踪】选项,连接到服务器之后,弹出如图3.9所示的【跟踪属性】对话框。

图3.9 【跟踪属性】对话框

step 3 在【常规】选项卡里可以设置跟踪名称、所用模板、文件的保存地址与名称、表的保存服务器名与数据表名、跟踪的停止时间等。

step 4 在如图3.10所示的【事件选择】选项卡里可以设置要跟踪的事件和事件列。

图3.10 【事件选择】选项卡

step 5 设置完毕后单击【运行】按钮,弹出如图3.11所示的跟踪窗口,根据跟踪结果可以分析出现问题的原因。

图3.11 查看跟踪信息

3.2.6 数据库引擎优化顾问

任何一个数据库,都有可能因为物理结构设计不合理、数据表结构设计不合理、索引设计不合理或使用了低效的T-SQL语句等原因导致数据库使用性能低下。然而,要找出数据库使用性能低下的原因,在SQL Server 2008出现以前,没有专业的知识和丰富的工作经验,是很难完成这项工作的。SQL Server 2008提供了数据库引擎优化顾问,即使数据库管理员不精通数据结构、不精通T-SQL语言,也可以完成对数据库的优化。

数据库引擎优化顾问的使用方法如下:

step 1 在Windows操作系统中选择【开始】→【所有程序】→【Microsoft SQL Server 2008】→【性能工具】→【数据库引擎优化顾问】选项,启动数据库引擎优化顾问程序。在与SQL Server服务器连接之后,弹出如图3.12所示的程序主界面。

图3.12 数据库引擎优化顾问主界面

step 2 在图3.12所示的对话框中,设置会话名称、工作负荷所用的文件或表,选择要优化的数据库和表,然后单击【开始优化】按钮进行优化。

step 3 优化完毕后,弹出如图3.13所示的对话框,在【进度】选项卡里可以查看优化的日志,在【建议】选项卡里可以查看SQL Server 2008给出的优化建议,在【报告】选项卡里可以查看【优化选项】选项卡里设置的各个优化选项的优化报告。

图3.13 优化后的结果

注意 数据库引擎优化顾问所能做的事只是对数据库数据访问情况进行评估,找出可能导致性能低下的原因,然后给出优化建议。要想真正做到优化数据库的性能,没有专业的数据库知识和优化知识,还是无法实现的。

3.2.7 Visual Studio 2008

SQL Server 2008与Visual Studio 2008整合在一起,形成一个强大的管理平台。利用Visual Studio 2008,可以创建与SQL Server 2008相连的Analysis Services项目、Integration Services项目、报表服务器项目或报表模型项目。

在Windows操作系统中选择【开始】→【所有程序】→【Microsoft Visual Studio 2008】→【Microsoft Visual Studio 2008】选项,打开如图3.14所示Microsoft Visual Studio 2008主界面。

图3.14 Visual Studio 2008主界面

SQL Server 2008中包含的Visual Studio 2008是独立的工具,是为使用SQL Server,SQL Server Mobile,Analysis Services,Integration Services和Reporting Services的应用程序开发者设计的,这些工具不能用来创建自定义应用程序。

3.2.8 SQL Server Business lntelligence Development Studio工具

SQL Server Business Intelligence Development Studio是包含专用于SQL Server 2008商业智能附加项目类型的Visual Studio工具,其主要用来开发Analysis Services、Integration Services和Reporting Services项目的商业解决方案,它还为每个项目类型提供了丰富的模板、设计器、工具和向导。

3.3 SQL Server Management Studio

在本章前面曾经提到过,SQL Server Management Studio是SQL Server 2008中最重要的管理工具,它将SQL Server旧版本中的企业管理器、Analysis Manager和SQL查询分析器功能集合为一体,形成了一个用于数据库管理的功能丰富的图形化工具。下面简单介绍SQL Server Management Studio的使用方法。

3.3.1 认识SQL Server Management Studio的界面

在默认情况下,SQL Server Management Studio在启动后,将会显示图3.3所示的两个组件窗格:【已注册的服务器】窗格和【对象资源管理器】窗格。如果所用的SQL Server Management Studio里没有显示这些窗格,可以在菜单栏中打开【视图】菜单,单击【已注册的服务器】和【对象资源管理器】选项即可调出相应的窗格。

3.3.2 更改SQL Server Management Studio的界面布局

由于SQL Server Management Studio集成了很多组件,如果将所有组件都打开,会占用几乎整个屏幕空间。为了可以显示更多的有用内容,可以关闭、隐藏或移动这些组件窗格。下面以【对象资源管理器】窗格为例,介绍如何更改SQL Server Management Studio的界面布局,如图3.15所示。

图3.15 关闭、隐藏和移动组件窗格

关闭窗格的方法:单击窗格右上角的 按钮,即可关闭窗格。如果要再次打开该窗格,可以在菜单栏上选择【视图】→【对象资源管理器】选项。

隐藏窗格的方法:单击窗格右上角的 按钮,当前窗格将最小化显示在屏幕的左侧,将鼠标指针移动到左侧的窗格标题栏上时,该窗格将重新打开。这时,再次单击 按钮,可使窗格固定显示在打开的位置。

移动窗格的方法:单击窗格右上角的 按钮,在弹出的快捷菜单里选择【浮动】命令,然后可以使用鼠标将当前窗格拖放到屏幕的任何位置。如果要让窗格重新停靠在屏幕边上,右击窗格的标题栏,在弹出的快捷菜单里选择【可停靠】命令,然后将窗格拖放到要停靠的位置即可。

3.3.3 使用查询编辑器

SQL Server Management Studio是一个集成的开发环境,其中集成了用于编写T-SQL的查询编辑器,它与SQL Server 2000中的查询分析器十分相似。

在主界面中单击【新建查询】按钮,右边自动打开了一个查询编辑器代码窗格。多次单击【新建查询】按钮,将会出现多个查询编辑器代码选项卡,如图3.16所示。单击查询编辑器代码窗格中的选项卡标签可以打开相应的选项卡来编辑T-SQL语句。

图3.16 查询编辑器

在图3.16所示的窗口中,在查询编辑器代码窗格里输入SQL语句,输入完毕之后,单击【执行】按钮,可以执行该SQL语句,并打开【查询结果】窗格显示结果。

3.3.4 利用编辑器自动生成查询语句

利用编辑器自动生成查询语句的方法如下:

step 1 在图3.16所示的窗口中,在查询编辑器代码窗格空白处右击,从弹出的快捷菜单中选择【在编辑器中设计查询】选项。

step 2 在弹出的【添加表】对话框中选择要查询的表,如图3.17所示,然后单击【添加】按钮。重复这个步骤,可以添加多个表到【查询设计器】对话框的【关系图】窗格中。添加完毕后,单击【关闭】按钮。

图3.17 【添加表】对话框

step 3 在图3.18所示的【查询设计器】对话框中,在【关系图】窗格中可以选择要输入的数据表的列,在【条件】窗格中可以设置查询的条件。设置完之后,在【SQL语句】窗格中会自动生成查询的SQL语句,最后单击【确定】按钮,即可将【SQL语句】窗格里的SQL语句自动添加到图3.16所示的查询编辑器代码窗格里。

图3.18 【查询设计器】对话框

step 4 在图3.18所示的【查询设计器】对话框的【关系图】窗格中空白处右击,在弹出的快捷菜单中选择【更改类型】→【更新】选项,这样就可以设计更新操作的SQL语句了。用这个办法还可以设计删除等操作的SQL语句。

3.3.5 脱机编写SQL语句后连接到服务器

脱机编写SQL语句后连接到服务器的方法如下:

step 1 在图3.16所示的窗口中,单击【数据库引擎查询】按钮,在弹出的【连接到服务器】对话框中单击【取消】按钮,如图3.2所示。这时,SQL Server Management Studio将打开查询编辑器代码窗格,并在标题栏里提示没有连接到服务器上。

step 2 在查询编辑器代码窗格中输入SQL语句。

step 3 这时,无论单击【执行】、【分析】还是【连接】按钮,都会出现图3.2所示的【连接到服务器】对话框。

step 4 连接到服务器,完成操作。

3.3.6 全屏显示查询编辑器

单击查询编辑器主界面的任意位置,然后按下【Shift+Alt+Enter】组合键,即可全屏显示窗口。退出全屏模式的方法也是按下【Shift+Alt+Enter】组合键。

技巧 此方法可以用于任何文档对话框。

3.3.7 使用模板编写SQL语句

SQL Server 2008更人性化的地方,就是内置了很多SQL语句的模板,可以让程序员从繁重的代码编写工作中解脱出来。

使用模板编写SQL语句的方法如下:

step 1 在SQL Server Management Studio的菜单栏里单击【视图】→【模板资源管理器】选项,打开【模板资源管理器】窗格,如图3.19所示。

图3.19 打开【模板资源管理器】窗格

step 2 在图3.19中可以看出,模板资源管理器里的模板是分组排列的。例如,要使用模板来创建数据库,展开【SQL Server模板】→【Database】,然后双击【Create Database】选项。

step 3 此时弹出图3.2所示的【连接到服务器】对话框,在这个对话框里不能更改服务器类型,只能连接到服务器。输入服务器名称和正确的身份验证信息后,单击【连接】按钮,会打开一个新的查询选项卡,其中自动写入了创建数据库的SQL语言模板内容,如图3.20所示。

图3.20 数据库的SQL语言模板

step 4 在SQL Server Management Studio的菜单栏里单击【查询】→【指定模板参数的值】选项,打开【指定模板参数的值】对话框,如图3.21所示。在这里可以查看该模板里包含几个参数、参数的类型是什么。本例中,在【值】栏里输入数据库名称“test”,然后单击【确定】按钮。

图3.21 【指定模板参数的值】对话框

step 5 此时,查询编辑器里的代码自动更改了。

    -- =============================================
    --  Create  database  template
    -- =============================================
    USE  master
    GO
    --  Drop  the  database  if  it  already  exists
    IF   EXISTS  (
        SELECT  name
            FROM  sys.databases
            WHERE  name = N' test'
    )
    DROP  DATABASE  test
    GO
    CREATE  DATABASE  test
    GO

step 6 单击SQL Server Management Studio窗口中的【执行】按钮,即可创建一个名为“test”的数据库。

3.3.8 创建自定义模板

虽然SQL Server Management Studio里内置了很多模板,但是在很多情况下,一些常用、复杂、针对各项目特需的模板,就不一定会有了。SQL Server 2008允许创建一些自定义的模板,下面举例说明怎样创建自定义模板。

step 1 设计一个自定义模板,作用是判断数据库中是否存在某个数据表。

step 2 在【模板资源管理器】窗格中,右击【SQL Server模板】选项,在弹出的快捷菜单中选择【新建】→【文件夹】选项,输入文件夹名“自定义模板”。

step 3 右击【自定义模板】选项,在弹出的快捷菜单中选择【新建】→【模板】选项,输入新模板名“判断数据表是否存在”。

step 4 右击【判断数据表是否存在】选项,在弹出的快捷菜单中选择【编辑】选项。

step 5 在弹出的【连接到服务器】对话框中输入正确的连接信息,单击【连接】按钮。

step 6 在弹出的查询选项卡中输入以下代码。其中,“<table_name, nvarchar(50), name>”代表的就是一个模板参数,“table_name”表示要输入的是表格名称,“nvarchar(50)”表示表格名称为nvarchar类型,长度为50个字符,“name”是这个参数的示例。

    IF   EXISTS  (
        SELECT  *  FROM  sys.objects
            WHERE object_id=OBJECT_ID(' <table_name, nvarchar(50), name>' )
                AND  type  in  (' U' ))
        print ’该数据表存在’
    else
        print ’该数据表不存在’

step 7 单击SQL Server Management Studio工具栏上的【保存】按钮,或按下【Ctrl+S】组合键保存。

自定义模板的使用方法和系统定义的模板是一样的。

step 1 打开【模板资源管理器】窗格,双击新建的【判断数据表是否存在】模板选项。在弹出的【连接到服务器】对话框中输入正确的连接信息,连接到服务器上,程序自动打开一个新的查询选项卡。

step 2 在SQL Server Management Studio的菜单栏上选择【查询】→【指定模板参数的值】选项,弹出【指定模板参数的值】对话框,如图3.22所示。其中,“<table_name, nvarchar(50), name>”中的三个参数都在这个对话框里有所显示。

图3.22 【指定模板参数的值】对话框

step 3 在【值】栏中输入数据表名,单击【确定】按钮,回到查询编辑器窗口。单击【执行】按钮,可以看到运行结果。如果数据表存在,输出“该数据表存在”信息;如果数据表不存在,输出“该数据表不存在”信息。

3.3.9 使用项目脚本和解决方案

在一个项目中,数据库设计者可能要写出很多个SQL脚本文件,如果同时进行几个项目的话,SQL脚本可能会显得多而乱。此时,可以使用SQL Server 2008提供的“项目和解决方案”功能来解决这个问题。它可以将不同的项目分成各个不相关的脚本项目,然后将各个脚本项目作为一个解决方案进行集中管理。将同一个项目的SQL脚本放置到脚本项目和解决方案后,就可以将它们作为一个组同时打开。

下面示例演示如何创建脚本项目和解决方案。

step 1 打开SQL Server Management Studio,并连接到服务器上。

step 2 单击菜单栏上的【文件】→【新建】→【项目】选项。

step 3 在图3.23所示的【新建项目】对话框中,输入项目的名称“SQL Server脚本1”,设置项目存放的位置和解决方案的名称后,单击【确定】按钮。

图3.23 【新建项目】对话框

step 4 在图3.24所示的【解决方案资源管理器】窗格中可以看到新建的解决方案选项,在这里可以新建数据库连接、创建SQL脚本文件。具体操作不再赘述,读者只要动手试试就知道了。

图3.24 【解决方案资源管理器】窗格

step 5 要保存解决方案和脚本项目,在菜单栏上选择【文件】→【全部保存】或【保存】选项。

step 6 要关闭解决方案和脚本项目,在菜单栏上选择【文件】→【关闭解决方案】选项。

3.4 示例数据库

为了让用户可以更快地学习使用数据库,微软在推出SQL Server和Access两种数据库的同时,都配有相应的示例数据库。其中,SQL Server 2008的示例数据库需要独立安装。

3.4.1 SQL Server 2008示例数据库

SQL Server 2008引入了一个名为“Adventure Works Cycles”的虚拟公司,这是一个大型的跨国制造公司,它生产金属和复合材料自行车,产品远销北美、欧洲和亚洲市场。SQL Server 2008在模拟该公司的业务、雇员和产品的情况下,建立了以下两个示例数据库:

AdventureWorks:用来演示数据库引擎的数据库。

AdventureWorksDW:用来演示数据仓库的数据库。

该示例可以从msftdbprodsamples.codeplex.com的Download栏目中下载,其中,安装包SQL2008.AdventureWorks_All_Databases.x86.msi是X86(即32位)操作系统所用的版本,SQL2008.AdventureWorks_All_Databases.x64.msi是64位操作系统所用的版本。

step 1 下载安装包后,双击安装包文件,运行该安装程序,打开图3.25所示的对话框。

图3.25 启动安装程序

step 2 单击【Next】按钮,打开安装协议对话框,如图3.26所示。选中【I accept the terms in the License Agreement】复选框,表示同意该协议。

图3.26 阅读安装协议

step 3 单击【Next】按钮,打开【Custom Setup】对话框,如图3.27所示,该对话框用于设置安装属性,本例中使用默认值。

图3.27 【Custom Setup】对话框

step 4 设置完安装属性后,单击【Next】按钮,打开【Database Setup】对话框,该对话框用于选择数据库将在哪个数据库实例上安装。在图3.28所示的下拉列表框中选择相应的数据库实例,本例选择【MSSQLSERVER】选项。

图3.28 【Database Setup】对话框

step 5 选择了数据库实例后,单击【Database Setup】对话框中的【Next】按钮,打开准备安装对话框,如图3.29所示。

图3.29 准备安装示例数据库

step 6 单击【Install】按钮,开始安装。

3.4.2 本书示例数据库

由于SQL Server 2008所带的示例数据库太过复杂,数据库里的表也很多,分析起来比较麻烦,所以本书所用的示例是Microsoft Office Access中自带的Northwind示例数据库,这也是一个虚拟的示例数据库。

本书已经将此数据库转换成了SQL Server 2008的数据库格式,文件名分别为Northwind_Data.mdf和Northwind_Log.ldf,可以用附加的方法将此数据库附加到SQL Server Management Studio中使用:

step 1 将Northwind_Data.mdf和Northwind_Log.ldf两个文件放在同一个目录下,打开SQL Server Management Studio,连接到服务器上。

step 2 在对象资源管理器的列表中选择数据库,右击数据库名,在弹出的快捷菜单里选择【附加】选项,打开如图3.30所示的【附加数据库】对话框。

图3.30 【附加数据库】对话框

step 3 单击【添加】按钮,在弹出的查询文件对话框中找到Northwind_Data.mdf文件,然后单击【确定】按钮,回到【附加数据库】对话框。

step 4 单击【确定】按钮,数据库附加完成,可以正常使用了。

3.5 小结

SQL Server 2008服务器可以运行的后台服务有:SQL Server数据引擎、SQL Server Active Directory Helper、SQL Server代理、SQL Server Analysis Services、SQL Server Browser、SQL Server全文搜索、SQL Server集成服务、SQL Server报表服务和SQL Server VSS Writer服务。

SQL Server 2008客户端上提供了Management Studio、Reporting Services配置、SQL Server配置管理器、SQL Server错误和使用情况报告、SQL Server Profiler、数据库引擎优化顾问、Visual Studio2005等图形化、功能强大的管理工具。

SQL Server Management Studio是在SQL Server 2008里用得最多的工具,而查询编辑器又是在SQL Server Management Studio里用得最多的工具,因此要熟悉这两个工具的使用方法。

第4章将介绍如何管理数据库服务器。