公务员期刊网 论文中心 正文

医院信息系统服务器及数据库升级

医院信息系统服务器及数据库升级

摘要:随着信息技术的发展,医院信息系统也面临着不断更新迭代的过程。本文以我院门诊系统升级为例,从系统升级原因、选型到升级过程中如何保持数据一致性、程序兼容性都进行了详尽的描述,对数据库升级过程中需要注意的问题与细节也进行了一一介绍。

关键词:门诊系统;数据库;操作系统;SQLSERVER;权限;升级

1现状

我院门诊系统数据库应用由两台IBMX3850M2服务器承载,2008年开始使用,已运行多年。硬件配置为:4个4核IntelXEON处理器,64GB内存;操作系统为Windows2003X64系统,部署有SP2补丁;数据库系统采用基于MSCS上的SQLSERVER2000群集数据库,底层存储系统采用基于EMCMirror的容灾系统,确保数据安全。由于微软对SQLServer2000和Win2003的支持已结束,今后不可能有补丁来解决新出现的问题。此外,新的服务器已不再支持Win2003,以后如果服务器硬件故障而必须更换,将找不到合适服务器产品来部署系统[2]。随着医院管理需求的增加和信息化建设的发展,医院需要建立统一管理平台对历年积累的医疗、科研、管理等数据进行运用。而SQLServer2000无法支持大数据、数据挖掘等技术,因而必须对数据库进行升级。服务器使用年限近10年,运算性能不足,且运行不稳定。为保障信息系统安全稳定运行,避免因硬件故障影响临床业务,因此,计划将系统的数据库和操作系统都进行升级[3]。

2升级的选型

系统升级的首要任务是确认数据库及操作系统需要升级到什么版本。首先,是数据库版本的选择。SQLServer在其进化史上有几个成对的版本,包括:SQLServer6.0和SQLServer6.5;SQLServer7.0和SQLServer2000;SQLServer2005和SQLServer2008;SQLServer2012和SQLServer2016。在同一对中的两个产品在功能上的差别较小,相似度较高。而不同对的产品具有跨越式发展,功能差异较大。SQLServer2000升到SQLServer2005和SQLServer2008,都需要跨越一个级差,而SQLServer2000升到SQLServer2012则需要跨越2个级差。升级跨越的级差越多,风险也越大,故我们不主张升级到SQLServer2012及以上版本。至于SQLServer2005和SQLServer2008这两个版本,由于属于同一进化等级,升到SQLServer2005和升到SQLServer2008,风险大致相当。因此,我们主张数据库升级到SQLServer2008R2企业版64位版[4]。再次,是操作系统的选型。WindowsServer2008系统已经不在新出服务器的官方支持列表,只能在WindowsServer2012、WindowsServer2016中选型。WindowsServer2016新推出不久,未经市场充分考验,而WindowsServer2012在市场使用多年,重大系统漏洞基本已经被发现并修复,维护人员对其研究较透彻,其提供的功能完全满足数据库服务器的要求。最终选择WindowsServer2012R2数据中心版作为数据库服务器的操作系统[5]。

3升级的过程

SQLServer升级有两条路线可选,其一是就地(In-Place)升级,其二是并行(side-by-side)升级。就地升级就是在原有服务器上直接进行SQLServer升级,操作系统不改变。就地升级的自动化程度较高,需要较少的人工干预。然而,就地升级的风险也大,因为直接在生产服务器上升级,一旦出现问题,无法回退。并行升级就是在另一台服务器上将新版操作系统和数据库软件安装好后,将数据和用户应用由手工迁移到新服务器。如果新服务器出现问题,可以停止升级,继续用旧服务器进行生产[6]。由于新、旧服务器的数据库实例名、Windows机器名和IP地址都不同,故升级完成后,中间件需要更改数据库服务器的实例名、IP地址等配置信息。微软提供了一个称为UpgradeAdvisor(升级劝告器)的快捷程序,用于检查升级的潜在问题。它检查100多条规则,这些规则分成以下类别:SQLServer、AnalysisServices(分析服务)、ReportingServices(报表服务)、NotificationServices(通告服务)、DataTransformationServices(数据传输服务)、IntegrationsServices(集成服务)。UpgradeAdvisor可以在旧服务器本机执行,也可以在另一台服务器远程执行。我们需根据UpgradeAdvisor报告的结果评估升级的复杂度。对其报告的问题,需逐一解决,然后才能升级。

3.1升级的主要障碍

升级后,影响业务系统运行的因素主要在Transact-SQL语句不兼容以及性能问题。SQL2000的一些Transact-SQL语句和SQL2008是不兼容的,如果存储过程使用了这样的Transact-SQL语句,则须修改相关存储过程的代码。为了保持程序的最大兼容性,经多次技术讨论后,确认在本次升级中,数据库的兼容性级别定为90。另一个问题是数据库的性能,有研究[7]表明80%的Transact-SQL语句在SQL2008执行比在SQL2000快,但有10%的Transact-SQL语句在SQL2008执行比在SQL2000慢,因此,总体上业务系统在新服务器上运行的性能应当高于旧服务器,但仍存在性能不佳的可能性。因此,新服务器的硬件配置应当高于旧服务器。

3.2升级的准备和测试

虽然UpgradeAdvisor程序可为数据库升级提供详细的评估,但对新服务器的测试仍是非常关键的。在正式升级前,先在虚拟机平台建立一个新的数据库服务器VM,然后按拟定的升级步骤将数据库迁移到测试VM。由于我们采用的是并行(side-by-side)升级方式,新服务器的机器名、数据库实例名、IP地址都与原服务器不同,故测试过程不影响生产。我们还需建立一个中间件服务器VM(由现有的物理服务器转换成虚拟机),然后用终端连接中间件服务器来测试,这样可以模拟真实的业务系统运作。终端也可采用虚拟机。测试过程需要将业务系统的功能都走遍[8]。

3.3第三方系统测试及配合修改

数据库升级的另一个重要影响是第三方程序的接口兼容性。为了保证数据库升级后,系统能平稳运行,在升级前识别出所有与门诊系统数据库有数据交互的第三方系统,要求所有第三方系统在新部署的门诊系统数据库服务器上进行连接测试。共识别出手麻系统、重症系统、发药机系统、病人管理系统、标本管理系统、收费监控系统、检验系统、叫号系统等18个系统,在2周时间内,所有第三方系统均在新建的数据库环境中进行了测试,对不兼容的SQL语句或存储过程进行了修改。

3.4用户及权限配置

本次升级只是升级门诊系统数据库,门诊系统本身不升级,所以升级后数据库的用户、权限、安全设置、链接服务器等信息必须与升级前一致,否则将导致系统功能的错误。数据库升级前,安排专人梳理所有用户,为避免遗漏,将用户及对应的权限截屏。升级后再一一进行对照检查,确保升级后的用户权限正确。迁移用户时,使用sp_help_revlogin命令,将SQLSERVER2000数据库中的所有用户导出,在新建的SQLSERVER2008R2数据库中导入。

3.5数据迁移

在正式迁移前2天,在旧数据库服务器中将数据库进行一次完整备份,然后停止数据库备份作业,开启数据库日志备份。将数据库完整备案拷贝到新服务器上还原为NORECOVERY模式。还原后使用updateusage命令升级数据库文件到SQLSERVER2008R2。在迁移当天0:00,禁用旧数据库的所有用户,关闭旧数据库的所有连接,备份一次日志,然后将完整备份后两天的所有日志拷贝到新服务器上进行还原。还原后旧服务器关机,新服务器更改服务器名、IP、群集名与旧服务器一致,然后导入数据库作业。重启服务器后,使用客户端进行测试,程序运行正常。

4升级结果

数据库升级后,经过测试,数据查询性能得到了极大提升。例如全表查询速度:升级前查询门诊检验结果数据301,930,630条数据需时22s,升级后需时2s。升级前查询门诊病历数据24,900,304条数据,升级前需时18s,升级后仅需0.8s。本次数据库升级极大的提高了我院门诊系统运行的稳定性,解决了以前系统进行全表查询时常会导致死锁,影响门诊业务的问题。同时也提升了门诊系统运行速度,间接提高了患者的就诊满意度,达到了项目的预期目标。

5结语

系统数据库升级最重要的是保障升级前后数据的一致性,以及系统的可用性。在本次升级中,首先是规划好升级的路线,处理程序的兼容性,然后做了充分的测试,保障了语句的变化不影响门诊系统运行。本文详述了门诊系统数据库升级过程中考虑的各种问题以及解决方案,记录了升级的详细步骤,希望对同行在处理相同问题时,起到一定的启发作用。

参考文献

1梁昌明,袁功智,秦占伟,等.Oracle数据库升级或迁移的方法探讨[J].医疗卫生装备,2008,29(1):35-37.

2周容容,纪亚亮.数据库及服务器操作系统升级[J].医疗卫生装备,2013,34(4):42-43.

3吉亚力,胡呈炜,张辉.HIS服务器及数据库升级的实现[J].医疗卫生装备,2011,32(5):50-51.

4李世川.信息系统数据库升级方法研究及实现[J].医疗卫生装备,2012,33(1):51-52.

5吴新跃.进度管理在医院信息系统升级项目中的应用[J].医学信息学杂志,2013,34(6):35-38.

6钱崇强,解春生.医院信息系统升级风险管理[J].中国医院,2011,15(1):62-64.

7马嘉潜,李超峰,邓晓焱,等.医院信息系统升级方案与实现[J].医学信息学杂志,2016,37(9):25-28.

8马大民.试论计算机数据库的技术分析及其升级与维护[J].软件:电子版,2016(12):264.

作者:潘天祥 张芳健 单位:广东省人民医院