数据库由SQL Server7.0 升级迁移至SQL Server 2008 R2 操作实践
2021-03-24王娟沈丽娟王慧
王娟 沈丽娟 王慧
(山东省水文局,山东济南 250002)
0 引言
SQL Server7.0是SQL Server的早期版本,虽然微软近期推出了最新版的SQL Server 2019,但是由于服务器设备更新缓慢及使用数据库的应用系统升级滞后等各种原因,仍然有相当数量的单位和部门在使用低版本的SQL Server数据库管理系统。随着硬件设备性能的不断提升,计算机操作系统的更新迭代,低版本的数据库管理系统已出现了很多与操作系统的兼容性问题,甚至无法在新的操作系统上安装运行,因此低版本SQL Server的升级更新终将是数据库用户需要面对的问题[1]。笔者目前就遇到了这样的问题,通过查阅资料和分析操作,最终实现了数据库由SQL Server7.0至SQL Server 2008 R2的迁移升级,现将操作过程记录下来以供面临同样问题的技术人员参考。
1 系统现状及升级环境
笔者部门内运行维护着一个十多年前开发的信息系统,功能十分专业、实用,在多年的业务工作中发挥了重要的作用[2]。该系统基于C/S架构体系开发,数据库管理系统最初应用的是SQL Server 6.5,后来升级至7.0,一直在Windows系列32位平台上运行,由于受到系统数据源所用的另外一个软件系统的制约,且存在专业模型更新等问题,该信息系统尚无法升级,导致与目前主流的W i ndows 7以上操作系统、SQL Server 2000以上版本的数据库管理系统等存在很多不兼容的地方。近期由于硬件故障,该信息系统需要迁移到新的计算机上运行,新计算机只能运行64位Windows 7以上操作系统,而系统所用的SQL Server 7.0无法安装到该版本的操作系统上,为了该信息系统能继续运行,笔者通过查阅资料,决定在64位Wi nd ow s7 专业版上安装版本较新且稳定性好的S Q L Server 2008 R2,然后再将数据从SQL Server 7.0迁移到SQL Server 2008 R2上。
2 SQL Server 2008 R2各个版本的区别与选择
SQL Server 2008 R2是SQL Server 2008的一个版本升级,R2标志表示这是SQL Server的一个中间版本,而不是一个主版本,共享 SQL Server 的同一主版本[3]。SQL Server 2008 R2相比SQL Server 2008功能更为完善稳定,从安装包的大小和安装容易程度都是R 2 更胜一筹,因此该版本的用户众多。
当前已知的SQL Server 2008 R2版本是:企业版,标准版,工作组版,Web版,开发人员版,Express版和Compact 3.5版。该顺序也是根据功能的从高到低的排序。使用哪个版本,不是功能越强大越好,而是适当的版本。其中,SQL Server 2008 Express Edition是具有核心数据库功能的SQL Server的免费版本,但它是SQL Server的微型版本。SQL Server Compact是为开发人员设计的免费嵌入式数据库。该版本可以在所有Microsoft Windows平台上运行。标准版是一个完整的数据管理和商业智能平台,为部门级应用程序提供了最佳的易用性和可管理性。企业版是全面的数据管理,而商业智能平台提供了全面的高端数据中心功能,并为关键业务应用程序提供了企业级可伸缩性,数据仓库,安全性,高级分析和报告支持。此版本是功能最强大的版本,它具有最强大的功能和最佳性能,适用于大型企业生产应用程序环境;开发人员版本支持开发人员构建和测试基于SQL Server的任何类型的应用程序。此版本具有企业版的所有功能,但仅用于开发,测试和演示,基于此版本开发的应用程序和数据库可以轻松升级到企业版。
经查阅资料和安装尝试,发现在Win7专业版上可以安装SQL Server 2008 R2开发者版本,既能解决兼容性问题又可获得强大的数据库功能,能够满足笔者部门所运维的信息系统的应用需求。
3 SQL Server 2008 R2在Win 7专业版上的安装
安装SQL Server 2008 R2之前在操作系统上必须先安装.NET Framework 3.5,和Windows Installer 4.5 Redistributable这两个组件,在安装过程中由于操作系统不同(64位与32位)和可能安装的环境不一样,或者在安装SQL Server 2008 R2之前已经安装过SQL Server的其他版本,可能会导致安装遇到问题,排除上述情况,在干净的Win7专业版上,按照安装提示一步步操作基本上都能顺利安装[4]。
4 在SQL Server 2008 R2上还原SQL Server7.0的数据库备份
由于版本跨度大,SQL Server7.0的备份不能在SQL Server 2008 R2上直接还原,因此需要一个中间版本作为过渡,该版本需要满足既能还原SQL Server7.0的备份,且在其上导出的备份又能被SQL Server 2008 R2还原这两个条件。经查阅资料和试验,发现SQL Server 2000能够满足这一要求[5]。SQL Server 2000版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的小型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用[6]。同样的,SQL Server 2000也存在与高版本操作系统的兼容性问题,只能在W i nd o w s X P 或者更低的操作系统上正常安装和使用,在Windows 7或者更高版本的操作系统上需要经过很多复杂的设置后才能安装和使用,因此选择在Windows 7以下版本的操作系统上安装SQL Server 2000 标准版作为过渡版本[7]。数据库迁移使用了完全备份和还原的方式进行,这是最基本和安全可靠的数据迁移方式,步骤如下:
第1步:将SQL Server 7.0的数据库进行备份,形成bak文件;
第2步:在SQL Server 2000中将SQL Server 7.0的数据库备份文件还原;
第3步:在SQL Server 2000中将第2步还原好的数据库进行备份,形成bak文件;
第4步:在SQL Server 2008 R2 Management Studio资源管理器窗口中右键选择任务->还原->数据库,“还原数据库”菜单如图1所示;
第5步:在出现的窗口中输入目标数据库名称,并选择“源设备”,点击浏览按钮找到第3步中生成的备份文件,点击确定,还原成功。还原数据库具体操作内容如图2所示。
图1 SQL Server 2008 R2 Management Studio 中“还原数据库”菜单Fig.1 "Restore database" menu in SQL Server 2008 R2 Management Studio
图2 SQL Server 2008 R2 Management Studio 中还原数据库具体操作内容Fig.2 Specific operation contents of restoring database in SQL Server 2008 R2 Management Studio
要注意的一点是,将SQL Server 2000的备份还原到SQL Server 2008 R2中一定不要建立一个新的数据库文件,而是直接在还原的时候在目标数据库处给待还原的数据库起个名字就可以了。
5 结语
至此,已经完成了将数据库从SQL Server 7.0升级和迁移到SQL Server 2008 R2的整个过程,并且已经实现了从早期版本的SQL Server 7.0到SQL Server 2008 R2 的完整数据迁移。数据库管理系统的较低版本和较高版本的操作系统的兼容性问题已解决。