在航空业信息服务领域,Airclaims公司以其卓越的信息和咨询服务而闻名。公司的核心服务是CASE(Client Aviation System Enquiry),这是一个覆盖超过90,000架商用飞机历史信息的全面数据库。全球约有310家客户依赖CASE的信息。CASE运行在SQL Server 2000上,直到最近,数据库每月通过完整的快照复制进行更新。数据库的重组、碎片整理以及离线副本的创建和打包,大约需要三个小时来制作主CD。经过测试后,主CD被复制数百次,并通过快递或常规邮寄发送给客户,具体取决于服务条款。刻录CD大约需要四个小时,再加上包装和邮寄的时间。
2004年夏天,Airclaims开始将其数据库更新转移到在线。由于公司已经有一个有限的互联网版本的CASE,一些迁移的框架和方法已经就绪。第一个挑战是找到关键的软件工具来自动化数据库比较。
"评估了Red Gate的SQL Toolkit,并使用其中一个示例数据库,迅速确定这是完成这项工作的产品,"Airclaims的首席开发人员和CASE的数据库管理员Paul Buxton说。SQL Toolkit提供了访问Red Gate的SQL数据库比较和同步工具中使用的API和命令行实用程序。它使用户能够构建自己的专门程序,以自动化安装、复制和验证。
Airclaims创建了一个使用SQL Toolkit自动化数据库比较的.NET小程序。这被一个验证最终用户的Web服务和一个扫描、下载和应用客户机器上更新的导入应用程序所增强。一个开发人员在三个月内就把所有工具都准备好了。
更新现在从.NET小程序开始,它比较Airclaims维护的主数据库和最终用户的数据库副本。更新生成一个小文件——平均大约300K。然后,该文件被应用到内部的目标数据库。如果应用正确,文件将自动压缩并上传到Web服务器。
为了接收更新,客户运行一个小的Web服务小程序,该程序提供认证,并确定需要多少更新。然后通过SQL-DMO下载并应用单独的日常文件,以使最终用户的数据库保持最新。
"在分销方面的最大节省是,不再需要每月运送350张CD。相信,在所有客户迁移到新的互联网CASE之后,一年可以节省15,000到20,000英镑,"Buxton说。Buxton说,Airclaims的客户从新服务中获得三大好处:更新文件更小,变更实施更快,更新时CASE系统无需关闭。
"能够从一个安全的网站上频繁接收数据更新,是决定成为CASE新客户的一个重要因素,"新加坡飞机和租赁企业的Sean Lee说。新流程的一个自然衍生物是,它使得价格灵活性和服务选项更多。客户可以选择每天、每周、每两周和每月的更新,而Airclaims不需要在其过程中改变任何东西,只需要订阅Web服务。
// 示例代码:.NET小程序使用SQL Toolkit进行数据库比较
var toolkit = new SQLToolkit();
var comparisonResult = toolkit.CompareDatabases(masterDatabase, userDatabase);
var updateFile = comparisonResult.GenerateUpdateFile();
if (updateFile.ApplyUpdate()) {
updateFile.ZipAndUploadToServer();
}