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

时间:2008-09-06 03:25:45

标签: sql-server oracle ms-access

我们在网络上有几乎100个Access数据库。有些使用率较低,有些用量较大,有些则没有用处。我们想要做的是将这些数据库集中到托管数据库,并尽可能多地保留其中的报告和表单。

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

RDBMS(Oracle,MS SQL服务器)或它运行的堆栈(LAMP,ASP.net,Java)没有真正的限制,显然不会有这样的灵丹妙药。我们希望能够以自动方式删除最初的grunt工作。

5 个答案:

答案 0 :(得分:5)

我们将用户升级(使用upsize向导或手动)到SQL Server。它通常很直接。将所有具有链接表的访问表替换为sql server,并使所有表单/报表/宏保持访问状态。访问投资不会丢失,用户可以照常开展业务。您可以获得sql server和集中备份的可靠性。请记住 - 我们已经为几个大型访问数据库完成了这项工作,而不是数百个。我会做几十个飞行员,看看它是如何工作的。

更新: 我刚刚发现这个,sql server migration assitant,可能值得一看: http://www.microsoft.com/sql/solutions/migration/default.mspx

更新:是的,对于设计不佳的数据库,需要进行一些重构。至于如何处理访问蔓延?我遇到过那些拥有大量技术用户的公司(特别是工程师,这是最糟糕的......并且表现优异)。我们进行了审核 - (备份后)删除了一年内未被触及的任何数据库。基于数据库中的位置和/或数据来分配“所有者”。如果数据库位于“S:\ quality \ test_dept”中,那么质量经理和首席测试工程师必须取得它的所有权,或者我们将其删除(再次备份之后)。

答案 1 :(得分:3)

升级Access应用程序并不是一件神奇的事。可能有些东西会更快,但某些类型的操作将是真正的狗。这意味着必须彻底测试升级的应用程序并解决性能瓶颈,通常是通过移动数据检索逻辑服务器端(视图,存储过程,直通查询)。

但是,这不是问题的答案。

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

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

答案 2 :(得分:1)

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

http://apex.oracle.com

答案 3 :(得分:0)

所以?将服务器专用于Access数据库。

现在,您可以获得某种使用情况跟踪功能,并且可以更加关注存储在这些应用中的一些重要的分散数据。

无论如何,这是你要做的,只是你想使用不同的数据库引擎而不是NTFS。

现在你必须强迫用户加入你的服务器。

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

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

轻松升级路径,改善用户服务,更好地集中和控制IT。每个人都是胜利者。

答案 4 :(得分:0)

继David Fenton的评论之后

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

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

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

相关问题