UML软件工程组织

SQL Server 2005数据库升级要点和技巧
作者:Builder 

SQL Server并非微软经常更新的产品,所以当微软要发布一个更新,就值得我们去关注。因此,在从以前的SQL Server 2000或者SQL Server 7升级到最近发布的SQL Server 2005之前,你有必要了解有关这方面的一些更新内容。

一点提醒:SQL Server 2005 从最基本的数据库发展到真正意义上的企业级产品,能够支持最大的数据仓库。虽然老式的SQL Server 版本也很不错与具有可扩展性,但是SQL Server 2005把以前的版本推向了最高峰。所以我们有理由了解这其中的更新与改变。

管理的改变

你或许听到有关微软SQL Server 2005中“垃圾式”的Enterprise Manager 和Query Analyzer的各种议论,然而事实上SQL Server 2005的管理工具得到很好的改变。新SQL Server Management Studio (图A)虽然比它的前辈更加复杂,但从管理的角度上看,它更有利于各种任务的管理。现在,使用一个简单的工具,你可以对数据库的结构做出调整,运行复杂的查询,其中可同时运行其它任务,包括建立Business Intelligence 和 Analysis Service。

图 A

SQL Server 2005 Management Studio

即使使用SQL Server 2005 Express Edition (相当于以前的MSDE)的用户也可以尽情享受GUI来管理SQL Server的免费版本。虽然Express 版本有自身的限制(例如只能使用最大4GB的数据库大小),但可以用于测试和建立小型的程序。除了GUI,这一产品的名为SQL Express Management Studio(当前还处于测试阶段)也使之成为Windows环境中更为流行的选择。

一点提醒

如果你仔细阅读各类SQL Server论坛,你就会发现很多人的贴子都抱怨Management Studio的稳定性。我也不能对此给出自己的答案,但可以提供一点建议:在你的实验室安装SQL Server 2005并开始测试,现在你可以运行所有可能存在的问题和测试所有程序,这一过程并有助于熟悉这一新的管理工具。

SQL Server Upgrade Advisor

虽然无法取代真实的程序调试,微软推出的SQL Server Upgrade Advisor (可在SQL Server 2005供应商获得)可有助于快速完成你的程序调试工作。这一工具的主要功能是当你更新数据库服务器和相关程序时,可帮助你找到和识别可能遇到的潜在问题。Upgrade Advisor可运行在SQL Server 7 和 2000 servers。

现在,我将回顾一下SQL Server Upgrade Advisor的安装与基本使用过程。我建议下载这一工具而不是使用来自供应商的版本,因为这样可以保证你使用的是最新版本。

Upgrade Advisor要求一些值得注意的必要条件:

Windows 2000 Service Pack 4; Windows Server 2003 Service Pack 1; Windows XP Service Pack 2 。
Microsoft .NET Framework 2.0。
如果你要使用Analysis Services,必须安装 SQL Server 2000 Decision Support Objects (DSO)。
如果你需要分析Data Transformation Services ,必须安装SQL Server 2000客户组件。
处理器速度必须超过500 MHz。
可使用的磁盘必须大于15 MB。
我不打算以一个界面一个界面详细地介绍Upgrade Advisor的安装过程,因为它就是一个最为典型的Windows软件安装,与其它软件安装没有任何区别。对这一工具的安装,我已经安装到一个Windows Server 2003 R2的服务器。

通过Start | All Programs | SQL Server 2005 | SQL Server 2005 Upgrade Advisor启动Upgrade Advisor。图B显示了Upgrade Advisor的介绍界面。

Figure B

SQL Server 2005 Upgrade Advisor介绍。

正如界面上所显示的,你可以选择两种选项:

Upgrade Advisor Analysis Wizard:执行数据库服务的分析,以找到任何妨碍SQL Server 2005升级的环节。
Upgrade Advisor Report Viewer:显示分析结果。
显然,在获得一个报告之前,你需要执行一个分析。可以通过5个步骤完成这一分析过程:

识别想要分析的SQL Server 7 或 2000 组件。
提供Upgrade Advisor 可用于SQL Server的认证。
选择数据库和提供额外的一些必要的参数。
执行分析。
查看有助于修改任一潜在问题的所有结果和文档。
组件选择

第一步,你选择需要分析的组件(图C)。这一步比较容易,因为所有的工作都可以由Upgrade Advisor完成。你只需要输入在SQL Server 7或2000中运行的服务器名称,然后点击Detect按钮,Upgrade Advisor就会处理所有剩下的任务。由于其它原因,如果有些选择错误,可以做出修改并点击Next按钮。在我的实验室服务器中,Upgrade Advisor可以探测到我正在运行SQL Server和Data Transformation Services服务。

图 C

选择你想要Upgrade Advisor 分析的SQL Server组件

认证SQL Server

为了执行这一步,Upgrade Advisor必须获得SQL server的详细信息。为了实现这一过程,以下操作必须进入到服务器。

Advisor向导(图D)的下一界面提供了认证方法(Windows 认证或SQL Server认证)以及选择Upgrade Advisor报告的SQL Server实例。如果运行的是SQL Server 7,你将不能选择其它实例,因为这一版本只支持单一实例。如果需要,可以提供用户名和密码,这样Windows或SQL Server用户可具备访问SQL Server的权限。

如果在连接服务器上存在困难,请确定SQL Server Agent正在运行并再次尝试。

图 D


提供合适的认证方法,使得Upgrade Advisor 继续进行。

选择数据库和选项

你可以将Upgrade Advisor限制为只分析特定的数据库组件,也可以在分析中包括跟踪和SQL批处理文件。对图E所示的实例,我将允许这一工具分析实验系统中所有的数据库,但没有包括任何跟踪或批处理文件。

图 E

选择所有分析的数据库和确定是否包括跟踪或SQL批处理文件

在下一向导界面(图F)中,选择处理SQL server的Data Transformation Services。Data Transformation Services是SQL Server 2005的 Business Intelligence功能的基础,它的作用是完成SQL Server 2005中完整的错误修正转变。

图 F


选择DTS 转变选项

执行分析过程

通过已经完成的选择,Upgrade Advisor已经开始处理分析过程。在执行之前,这一工具提供了你所有选择的一个总结,如图G所示。点击Run按钮以继续分析过程。图H和I为分析的进程。

图 G


选择Run按钮开始分析

图H

Upgrade Advisor的分析进程

图 I

分析完成时出现2条警告

查看分析结果

一旦分析结束,点击Launch Report按钮以查看找到的错误和警告。Upgrade Advisor为每一分析的组件提供一份独立的报告。对我实验室的服务器,生成了两份报告,一份是针对于SQL Server,另一份是针对于DTS。图J显示了SQL Server的报告,而图K为DTS报告。请注意到,Database Engine报告只包含一些通用的要点,即显示在升级之前应该进行核实。DTS报告显示了我实验室服务器没有包含DTS程序包。

图 J


Database Server报告提供了一个通用信息,即显示Upgrade Advisor不能查找到的升级内容。

图 K

对于我的实验室服务器,没有任何DTS可处理。

Upgrade Advisor总结

Upgrade Advisor 的主要作用是帮助你找到更新到SQL Server 2005的妨碍点,但它也不是所有任务都可以完成的工具。在找到妨碍点之后,你还需要对程序做进一步的升级。

老旧命令已经被弃用

众所周知,在SQL Server 2005中,微软已经做出很多改变。总之,很多老旧的命令和特性都被遭到弃用。例如,为了保证兼容性,系统表格已经被视(view)取代。另一个例子是DUMP, LOAD, 以及sp_addtype命令已经分别被BACKUP, RESTORE, 以及 CREATE TYPE取代。当然还有很多改变的地方,我建议你阅读一下SQL Server 2005发布通知,以了解全部的更新内容。

提醒:对于Northwind 和 Pubs的传统数据库,虽然你可以从微软主页下载并导入到SQL Server 2005安装,但这两个数据库已经被名为AdventureWorks数据库取代。

升级到SQL Server 2005

升级到SQL Server 2005的方法有两种:并行法(移植法)和取代升级法。在移植法中,SQL Server 2005可作为一个独立实例随同SQL Server 2000安装。对于这一种情况,必须将你的数据库从老式数据库例子中分离出来并添加新的实例。

使用取代法,SQL Server 2005可安装在SQL Server 7 或 2000的路径下,并且所有原来的数据库实例和帐号都被移除。表A的内容来自于微软主页,它概括了升级老式SQL Server的工具和方法。请注意,在Upgrade Tool栏中,“Setup”指的是SQL Server 2005 installer。

表 A

SQL Server 2000/7 组件
升级方法
Migration方法或工具
Database Engine
Setup
并行安装,然后数据库备份/恢复,分解/合并
Analysis Services
Setup
移植向导对象,需要客户升级。
Integration Services
None
DTS 移植向导转换50-70 %任务,需要一些手动移植;SSIS中的runtime DTS DLLs。
Reporting Services
Setup 并行安装,以新实例发布报告。
Notification Services
None
在安装过程中更新通知服务实例。

在我的操作中,我将打算使用取代方法将SQL Server 2000 系统升级到SQL Server 2005。

SQL Server 2005取代方式升级

请记住SQL Server 2005的升级需要一些必要条件,比如Reporting Services的IIS,在升级数据库之前必须满足这一条件。请阅读以前有关SQL Server 2005的文章以了解更多的细节。

和普通安装一样,在确定满足一些必要条件之前需要浏览一下系统。安装过程的第一个界面通常要求你注册的信息。这里我就不显示这一界面了。

你将会被询问:请选择你的安装/升级组件(图L)。我将安装数据库,Reporting Services和Workstation组件。

图 L

选择想要升级的组件。

不管你想升级或是执行一个全新的安装,都会出现下一界面(图M)。总之,你将会选择Default Instance选项。如果你想建立一个新的实例,或并行安装,可以选择建立第二个实例。

图 M


提供想建立或选择安装服务器的实例名称,作为默认SQL Server 实例。

当正在安装SQL Server 2005时,检测到服务器中已经安装了SQL Server 7 或 2000,安装向导将让你知道系统中已经存在类似组件。选择next以更新它们(图N)。如果你想检查正在升级对象,点击Details按钮(图O)。

图 N

选择你想升级的组件。

图 O

升级组件的信息。

在升级过程中,安装向导需要进入老的SQL Server系统,以更新不同的组件,包括数据库(图P)。安装向导可通过Windows 或 SQL Server认证而进入到这些系统。

图 P

选择认证模式,更新向导可进入SQL Server 2000/7系统。

一旦已经完成了这些选择,剩下的安装都与普通安装类似。可以查看这方面的以前的文章以了解更多信息。

现在,SQL Server 2005已经完成了安装,而SQL Server 2000已经被取代了。

总结

SQL Server 2005在各个方面都有重大意义的新产品。从完整的数据库引擎,到新组件,到数据库服务的新范例,微软都将目标集中在数据库的各个方面,包括从开源MySQL到深受喜爱的Oracle和DB2。


版权所有:UML软件工程组织