代码之家  ›  专栏  ›  技术社区  ›  Mark Nold

如何将数百个MS Access数据库迁移到中央服务?

  •  4
  • Mark Nold  · 技术社区  · 16 年前

    我们在网络上有100个访问数据库。有些用法很轻,有些用法很重,有些根本不用。我们要做的是将这些数据库集中到一个托管数据库中,并尽可能保留其中的报告和表单。

    这样做的好处是可以进行某种使用跟踪,并且能够更加关注存储在这些应用程序中的一些重要的分散数据。

    RDBMS(Oracle,MS SQL Server)或它将运行的堆栈(LAMP、ASP.NET、Java)没有真正的约束,显然不会有一个银弹。我们想要一些可以自动删除初始咕噜工作的东西。

    5 回复  |  直到 12 年前
        1
  •  3
  •   GEOCHET S.Lott    16 年前

    升级一个访问应用程序并不是什么灵丹妙药。可能有些事情会更快,但有些类型的操作会是真正的狗。这意味着一个升级的应用程序必须经过彻底的测试,并且通常通过移动数据检索逻辑服务器端(视图、存储过程、直通查询)来解决性能瓶颈。

    不过,这并不是问题的真正答案。

    我认为这个问题没有任何自动的答案。实际上,我会说这是一个人员问题,而不是一个编程问题。必须有人对网络进行调查,确定所有访问数据库的所有权,然后与用户面谈,找出哪些正在使用,哪些不使用。然后,应该评估每个应用程序是否应该折叠成企业范围的数据存储/应用程序,或者对于少数用户来说,它最初作为小应用程序的实现是否是更好的方法。

    这不是你想听到的答案,但它是正确的答案,因为它是一个人员/管理问题,而不是一个编程任务。

        2
  •  5
  •   Booji Boy    16 年前

    我们将(使用升迁向导或手动)用户升迁到SQL Server。通常都是很直的。将所有访问表替换为链接到SQL Server的表,并保持所有窗体/报表/宏的访问权限。在访问方面的投资没有损失,用户可以像往常一样继续营业。您可以获得SQL Server和集中备份的可靠性。请记住-我们已经为一些大型访问数据库而不是数百个数据库完成了这项工作。我会做几十个飞行员,看看结果如何。

    更新: 我刚找到这个SQL Server迁移助手,可能值得一看: http://www.microsoft.com/sql/solutions/migration/default.mspx

    更新:是的,对于设计不好的数据库,需要进行一些重构。至于如何处理访问蔓延?我在拥有大量技术用户的公司遇到过这种情况(工程师尤其是最差的…以及卓越的扩张)。我们进行了一次审计(备份后),删除了一年多没有接触过的任何数据库。”“所有者”是根据数据库中的位置和/或数据分配的。如果数据库在“s:\quality\test\u dept”中,那么质量经理和首席测试工程师必须拥有它,或者我们删除它(备份后再次删除)。

        3
  •  1
  •   David Aldridge    16 年前

    Oracle有一个将MS Access系统移植到Oracle Application Express的迁移工作台,这值得研究。

    http://apex.oracle.com

        4
  •  0
  •   _david_    16 年前

    那么?将服务器专用于访问数据库。

    现在,您有了某种使用跟踪的好处,并且能够更加关注存储在这些应用程序中的一些重要的分散数据。

    不管怎样,这就是您要做的,只有您想使用不同的数据库引擎而不是NTFS。

    现在您必须将用户强制到您的服务器上。

    好吧,你可以通过告诉他们你不再用旧备份覆盖他们的数据来鼓励他们,因为现在你将拥有这些数据,而你将不再这样做。

    此外,您还可以告诉他们,他们的应用程序现在运行得更快,因为您要将文件夹从on-access病毒扫描中排除(您不会对其他数据库这样做,这就是为什么他们充满SQL注入恶意软件,但这些数据库不会暴露在Internet上),并计划关闭数据包签名(您不会拒绝d在专用服务器上:它只适用于将文件共享放在域服务器上的人)。

    升级路径简单,为用户提供更好的服务,对IT进行更大的集中和控制。每个人都是赢家。

        5
  •  0
  •   BIBD    16 年前

    关于大卫·芬顿的评论

    您的管理规则如下:

    如果数据库中的数据只是由一个用户用于他们自己的工作(单独使用),那么他们可以将其保存在自己的网络共享中。

    如果数据库中的数据供不止一个人使用(即使只有两个人),那么该数据库必须在中央服务器上进行管理(备份、模式更改、接口等)。这是因为,有经验的人需要协调整个节目,否则我们将冒下一个家伙的时间/资源风险。