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

问题描述:

我们实际上有100个Access数据库在网络中浮动。一些使用较轻,一些使用量相当大,有些则没有用处。我们想要做的是将这些数据库集中到托管数据库上,并尽可能保留其中的报告和表单。您如何将数百个MS Access数据库迁移到*服务?

这样做的好处是可以进行某种使用情况跟踪,还可以更多地关注存储在这些应用程序中的一些重要的分散数据。

对于RDBMS(Oracle,MS SQL服务器)或其运行的堆栈(LAMP,ASP.net,Java)没有实际限制,显然这不会是一个银弹。我们希望能够以自动化的方式消除最初的咕噜声。

升迁Access应用程序是没有灵丹妙药。可能有些事情会更快,但某些类型的行动将是真正的狗。这意味着升级的应用程序必须进行彻底测试并解决性能瓶颈问题,通常通过移动数据检索逻辑服务器端(视图,存储过程,传递查询)。尽管如此,这并不是真正的答案。

我不认为有任何自动回答的问题。的确,我会说这是一个人的问题,而不是一个编程问题。有人必须调查网络并确定所有Access数据库的所有权,然后访问用户以了解正在使用的内容和未使用的内容。然后,应评估每个应用程序是否应该将其折叠到企业范围的数据存储/应用程序中,还是将其原始实现作为少数用户的小应用程序是更好的方法。

这并不是您想要听到的答案,但正确的答案恰恰是因为这是人员/管理问题,而不是编程任务。

+0

@大卫......“没有银子弹”不是任何人都想听到的答案:)但我同意这是正确的。 – 2009-03-10 01:04:11

我们升迁(使用upsize向导或手动)用户到SQL服务器。它通常非常简单。用链接表替换所有访问表到sql服务器并保留所有表单/报告/宏。访问投资不会丢失,用户可以照常继续经营。您可以获得sql server和集中式备份的可靠性。请记住 - 我们已经为几个大型访问数据库完成了这个工作,而不是数百个。我会做几十个试点,看看它是如何运作的。

更新: 我刚刚发现这一点,在SQL Server迁移assitant,它可能是值得一试: http://www.microsoft.com/sql/solutions/migration/default.mspx

更新:是的,一些重构将是必要的设计不佳的数据库。至于如何处理访问蔓延?我遇到过很多技术用户的公司(工程师尤其是,这是最糟糕的......和excel蔓延)。我们做了一次审计 - (备份后)删除了一年多没有触及的数据库。 “业主”根据地点& /或数据库中的数据分配。如果数据库在“S:\ quality \ test_dept”中,那么质量经理和首席测试工程师必须取得它的所有权,否则我们将其删除(在将其备份后)。

Oracle有一个迁移工作台来将MS Access系统移植到Oracle Application Express,这值得调查。

http://apex.oracle.com

那么,将服务器专用于Access数据库。

现在,您可以享受某种使用情况跟踪功能,还可以更多关注存储在这些应用中的一些重要的分散数据。

这就是你要做的事情,只是你想用一个不同的数据库引擎而不是NTFS。

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

嗯,你可以鼓励他们告诉他们你不会用旧备份覆盖他们的数据,因为现在你将拥有这些数据,而且你不会再这样做了。

此外,您可以告诉他们他们的应用程序现在运行速度会更快,因为您要从访问时病毒扫描中排除该文件夹(您不会对其他数据库执行此操作,这就是为什么它们已满的SQL注入恶意软件,但这些数据库不会暴露在互联网上),并计划将数据包签名关闭(您不需要在专用服务器上使用这种服务器:仅限于将文件共享放在他们的服务器上的用户域名服务器)。

轻松升级路径,改进了用户服务,为IT部门提供了更高的集中和控制。每个人都是赢家。

继大卫·芬顿的评论

您的管理规则将是这样的:

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

如果数据库中的数据被多个人使用(即使只有两个人使用),那么该数据库必须放在*服务器上并进入IT管理(备份,模式更改,接口等)。这是因为,有经验的人需要协调整个节目,否则我们会冒险下一个人的时间/资源。