关于sql server:如何将数百个MS Access数据库迁移到中央服务?

关于sql server:如何将数百个MS Access数据库迁移到中央服务?

How would you migrate hundreds of MS Access databases to a central service?

我们实际上在网络上浮动着100个Access数据库。 有些使用量很少,有些使用量很大,有些则没有使用。 我们要做的是将这些数据库集中到一个托管数据库中,并在其中保留尽可能多的报告和表格。

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

RDBMS(Oracle,MS SQL服务器)或其将在其上运行的堆栈(LAMP,ASP.net,Java)没有任何实际限制,并且显然也没有银弹。 我们想要一些可以自动消除最初繁琐工作的工具。


我们将用户升级(使用升级向导或手动升级)到SQL Server。通常很简单。将所有访问表替换为链接到sql server的表,并保留所有表格/报告/宏的访问权限。在访问方面的投资不会丢失,用户可以继续照常营业。您可以获得sql server和集中式备份的可靠性。请记住-我们是针对几个大型访问数据库(而非数百个)执行此操作的。我将进行几十个试点,看看效果如何。

更新:
我刚刚发现了这个,sql服务器迁移助手,它可能值得一看:
http://www.microsoft.com/sql/solutions/migration/default.mspx

更新:是的,对于设计不良的数据库,将需要进行一些重构。至于如何处理访问蔓延?我在拥有大量技术用户的公司中遇到过这种情况(工程师尤其是这方面最糟糕的人……而且擅长蔓延)。我们进行了一次审核-(在备份之后)删除了一年多没有接触过的所有数据库。根据数据库中的位置和/或数据分配"所有者"。如果数据库位于" S:\ quality \ test_dept"中,那么质量经理和首席测试工程师必须拥有该数据库的所有权,否则我们将其删除(在备份之后再次)。


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

但是,这并不是一个真正的答案。

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

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


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

http://apex.oracle.com


大卫·芬顿(David Fenton)的评论

您的管理规则将如下所示:

如果数据库中的数据仅由一个用户用于其自己的工作(单独),则他们可以将其保留在自己的网络共享中。

如果数据库中的数据供一个以上的人使用(即使只有两个人),则该数据库必须位于中央服务器上,并由IT部门管理(备份,架构更改,接口等)。 )。 这是因为有经验的人需要协调整个演出,否则我们将冒险下一个人的时间/资源。


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

现在,您不仅可以进行某种使用情况跟踪,而且还可以更加注意存储在这些应用程序中的一些重要的分散数据。

无论如何,这就是您要做的,只是您想使用其他数据库引擎而不是NTFS。

现在,您必须强制用户使用您的服务器。

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

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

简便的升级途径,改进的用户服务,更好的IT集中和控制能力。每个人都是赢家。


推荐阅读

    linux中启动服务命令?

    linux中启动服务命令?,服务,系统,命令,信息,工作,设备,网络,标准,名称,密码,l

    linux重置网络命令?

    linux重置网络命令?,网络,地址,工作,环境,系统,信息,标准,设备,命令,工具,lin

    linux高级网络命令?

    linux高级网络命令?,网络,地址,系统,工作,信息,管理,设备,电脑,命令,目录,Lin

    linux服务器保存命令?

    linux服务器保存命令?,时间,状态,档案,电脑,命令,信息,位置,编辑,文件,模式,L

    linux服务器扫盘命令?

    linux服务器扫盘命令?,地址,工作,命令,目录,数据,单位,名称,系统,管理,信息,L

    linux数据库查找命令?

    linux数据库查找命令?,位置,名称,状态,服务,软件,信息,系统,命令,名字,密码,

    linux数据库同步命令?

    linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,D

    linux下创建网络命令?

    linux下创建网络命令?,网络,地址,工作,系统,管理,命令,名字,最新,项目,设备,l

    linux服务器搭建命令?

    linux服务器搭建命令?,系统,服务,软件,地址,平台,在线,密码,工具,环境,百度,l

    linux命令行链接网络?

    linux命令行链接网络?,网络,系统,地址,工作,工具,最新,网址,数据,信息,环境,l

    linux网络速度命令?

    linux网络速度命令?,网络,工作,地址,系统,电脑,命令,网卡,信息,通讯,设备,Lin

    服务器重启命令linux?

    服务器重启命令linux?,工作,标准,设备,服务,系统,名称,命令,百度,网络,密码,

    linux网络开启命令行?

    linux网络开启命令行?,网络,地址,系统,环境,设备,工作,通用,服务,数据,网址,

    linux建立数据库命令?

    linux建立数据库命令?,软件,系统,工作,数据,密码,工具,数据库,一致,网络,服

    linux命令进数据库?

    linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,

    linux服务端常用命令?

    linux服务端常用命令?,工作,地址,系统,网络,基础,命令,标准,工具,信息,管理,l

    linux的配置网络命令?

    linux的配置网络命令?,地址,系统,网络,代码,服务,管理,密码,信息,基础,命令,l

    linux下查网络命令?

    linux下查网络命令?,网络,系统,地址,工具,状态,管理,基础,服务,中心,信息,lin

    linux网络命令查询?

    linux网络命令查询?,信息,网络,系统,地址,工作,状态,技术,电脑,命令,设备,lin

    linux禁用服务命令行?

    linux禁用服务命令行?,服务,系统,软件,管理,工具,信息,状态,平台,连续,技术,l