Mar*_*old 4 sql-server oracle ms-access
我们实际上有100个Access数据库在网络中浮动.有些使用率较低,有些使用量较大,有些则无用.我们想要做的是将这些数据库集中到托管数据库,并尽可能多地保留其中的报告和表单.
这样做的好处是可以进行某种使用跟踪,并且还可以更加关注存储在这些应用程序中的一些重要的分散数据.
RDBMS(Oracle,MS SQL服务器)或它运行的堆栈(LAMP,ASP.net,Java)没有真正的限制,显然不会有这样的灵丹妙药.我们想要一些可以自动删除最初的咕噜声工作的东西.
我们将用户升级(使用upsize向导或手动)到SQL Server.它通常很直接.将所有具有链接表的访问表替换为sql server,并使所有表单/报表/宏保持访问状态.访问投资不会丢失,用户可以照常开展业务.您可以获得sql server和集中备份的可靠性.请记住 - 我们已经为几个大型访问数据库完成了这项工作,而不是数百个.我会做几十个飞行员,看看它是如何工作的.
更新:我刚刚发现这个,sql server migration assitant,它可能值得一看:http: //www.microsoft.com/sql/solutions/migration/default.mspx
更新:是的,对于设计不良的数据库,需要进行一些重构.至于如何处理访问蔓延?我遇到过那些拥有大量技术用户的公司(特别是工程师,这是最糟糕的......并且表现优异).我们进行了审核 - (备份后)删除了一年内未被触及的任何数据库.根据数据库中的位置和/或数据分配"所有者".如果数据库位于"S:\ quality\test_dept",那么质量经理和测试工程师必须取得它的所有权,或者我们将其删除(再次备份之后).
扩大 Access 应用程序的大小并不是灵丹妙药。可能有些事情会更快,但有些类型的操作会是真狗。这意味着必须对大型应用程序进行彻底测试并解决性能瓶颈,通常是通过将数据检索逻辑移至服务器端(视图、存储过程、直通查询)。
但这并不是问题的真正答案。
我认为这个问题没有任何自动答案。事实上,我想说这是一个人的问题,而不是一个编程问题。必须有人调查网络并确定所有 Access 数据库的所有权,然后采访用户以找出正在使用的内容和未使用的内容。然后,应评估每个应用程序是否应合并到企业范围的数据存储/应用程序中,或者其最初作为少数用户的小型应用程序实现是否是更好的方法。
这不是您想听到的答案,但它是正确的答案,因为这是人员/管理问题,而不是编程任务。