自动化数据库同步工具的应用案例

在当今的数字化时代,许多企业都标榜其服务是“战略性的”和“全天候可用的”,但现实往往与这些承诺不符。挪威的SyZLaB公司,一家开发和销售网络发布和内容管理系统的公司,没有这种虚假宣传的奢侈。SyZLaB的整个业务都建立在确保其200个SQL Server数据库,大小从10到800MB不等,能够全天候为近250个客户服务的基础上。

除了访问网络上的公共信息外,SyZLaB的客户还可以在内部网站上的SQL数据库中存储关键文档。每个SQL数据库中大约100个表和250个存储过程的更改和更新,从每周一次到每两个月一次不等。

这些更新过去需要几个小时的手动脚本工作,以比较单个数据库与其在不同服务器上的对应镜像——总共200次比较。现在,SyZLaB的系统开发人员Petter Andreassen依赖于Red Gate的SQL Comparison and Synchronization Toolkit (SQL Toolkit)——一款允许他仅用一个脚本自动化同步所有200个数据库的软件。

“只需点击一下按钮”,SQL Toolkit允许开发人员和数据库管理员在其创建的应用程序中使用Red Gate的工具进行SQL Server。该软件包括来自SQL Compare和SQL Data Compare的功能,用于比较和同步SQL Server数据库对象的结构和内容。

SQL Toolkit允许开发人员将工具的功能嵌入到他们的应用程序安装向导或维护程序中,以自动化和安排比较和同步任务,消除了对图形用户界面输入的需求。

“在使用SQL Toolkit之前,不得不手动跟踪所有更改,并生成脚本,以便每次进行更新时比较每个数据库,”Andreassen说。“现在已经大大减少了跟踪更改所花费的时间。只需点击一下按钮,所有数据库就会相互比较,并且生成一个图形化的变更列表。”

自动比较和更新,首先,Andreassen在SyZLaB的开发服务器上开发并实施对主数据库的任何更改。当需要更新时,他使用Toolkit中的SQL Compare组件来检测开发数据库和暂存服务器上的参考数据库之间的差异。

接下来,Andreassen将所有更改迁移到暂存服务器。他没有为每个单独的数据库手动编写更新过程的脚本,而是编写了一个Visual Basic程序来访问SQL Toolkit,并自动运行所有200个数据库的比较。

使用ActiveX Data Objects (ADO),微软的一个应用程序接口,Andreassen可以访问数据库以执行SQL Toolkit中的命令。在确保一切正常运行后,他重复这个过程来升级实时生产服务器。

“由于数据库主要作为网络解决方案的存储,至关重要的是客户能够全天候访问数据,”Andreassen说。“同样重要的是,所有数据库中包含的信息都是最新和准确的。现在能够比以前更快、更可靠地迁移所有数据库中的更改。没有SQL Toolkit,这种效率是完全不可能的。”

' 示例代码:使用Visual Basic访问SQL Toolkit Dim toolkit As New SQLToolkit toolkit.ConnectToDatabase("DevelopmentServer", "ReferenceDatabase") toolkit.CompareAndSync()
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485