我被要求提供一个估算来更改使用MS Access设计的相对较小的应用程序以使用SQL数据库。
首先,这甚至可能吗?我从来没有使用过Access,所以我想知道。如果有可能,请您指点一些有关此教程的网站?
第二:如果有可能,是否推荐?它是一个重大的性能影响?您可以和想要分享的任何具体的做法/做法?
提前感谢您的帮助。
答案 0 :(得分:5)
尽管需要进行全面测试,但SQL Server升迁相对容易。我估计在初始系统开发的5%到10%的努力。建议在特定情况下进行SQL Server升迁,例如大于25到50个用户或24x7访问,或者在发生损坏时重新键入数据时难以/不可能。
查看我的Random Thoughts on SQL Server Upsizing from Microsoft Access Tips page
SQL Server group SQL Server Migration Assistant for Access (SSMA Access)有一个工具比升尺度向导好很多。
答案 1 :(得分:3)
对于将Microsoft Access数据库转换为使用SQL Server作为后端数据存储的特定任务,同时保持用户界面不受Microsoft Access应用程序的影响,Access本身提供了“升迁向导”(工具|数据库实用程序|升迁向导)。
此向导将引导您完成连接到SQL Server实例,创建SQL Server数据库以及尽可能将表和视图(称为Access中的查询)移动到新数据库的过程。
这个过程可能相对轻松,或者充满困难取决于许多因素,包括您在Access数据库中验证数据的程度,是否在查询中使用了VBA函数,以及是否已经使用了Access独有的任何查询结构。
答案 2 :(得分:0)
这告诉您如何将Access转换为SQL Server:
http://support.microsoft.com/kb/237980
现在,根据应用程序的编写方式(语言等),其余部分可能需要更多工作。然而,由于变量的数量很大,因此很难在那个上面投球。无论如何,这是可能的,所以这不是问题。
就性能而言,如果数据库很小,那么Access实际上可能会更快。如果数据库很大,您将从SQL服务器获益。除此之外,您可以在中央设置分布式客户端和一个数据存储,这是一个优势。
顺便说一句,如果这是使用.NET框架编写的,它可能会变得更容易。
答案 3 :(得分:0)
这很容易做到(希望如此)。在Access中,您可以创建链接表,它们只是链接到其他数据库(如SQL Server)中的表,因此您可以使用现有应用程序并将所有具有相同名称链接的Access表替换为SQL Server数据库中的表。
我认为这可能是性能影响的相反,具体取决于具体情况。访问非常高效,但只有少量并发用户(例如,少于30个)。因此,如果应用程序具有大量用户,您将从切换到SQL Server中受益。但是,如果SQL Server数据库托管在不同的计算机上,则通过连接到远程服务器上的数据库(而不是连接到本地Access数据库)而失去性能。
我不建议亲自这样做。
答案 4 :(得分:0)
升级或不升级 - 这是问题......(或者对我们而言)
升级到sqlserver有点大不了....我们通过从AccessTables.com转到WAN复制服务来避开它,并且至少暂时使用Access ....升级只是一个问题......处理网络前端或终端服务也是其中的一部分......