我有一个MS Access前端,我希望安装在5-7台计算机上,这样它们就可以访问存储在共享网络驱动器上的SQL Server:
如果可能的话,它是否安全,我的数据会被破坏吗?否则,我如何让5-7个用户使用接口同时访问Server?
非常感谢您的时间!
发布于 2016-07-05 06:33:47
如果它们可以直接访问具有insert、update和/或delete权限的表,那么它们会破坏您的数据。如果您通过限制访问权限或MS应用程序来防止这种情况,那么它们可以/不应该破坏您的数据。
关于商业规则。根据维基百科:业务规则是一种规则,它定义或约束业务的某些方面,并且总是决定为真或假。这些规则可以在数据库中定义为constraints
,但更经常由应用程序检查。例如,只有在特殊情况下,公司才能给予客户折扣。或者,客户只有在没有未付款的情况下才能被删除。如果应用程序检查了业务规则,那么让某人直接访问具有update和/或delete权限的表会破坏您的数据。
发布于 2016-07-06 10:35:09
是的,您可以使用作为Server的前端。这很常见。我以前有我自己做的。
不,访问本身不会破坏数据。但是,您的Access应用程序需要进行设计,以便它能够遵守Server的约束和规则。此外,如果不允许用户删除记录,应用程序将如何阻止用户犯简单的错误。
我遇到的最常见的问题是并发问题。当两个客户机同时做一些事情时,比如插入一个记录。您让Access生成主键吗?还是让Server来管理它?在这两种情况下,在插入行之后,如何确保每个客户端仍在处理同一行?
对于任何开发多用户系统的人来说,这都是一个考虑因素。只是需要一些时间和思考。
一些建议:确保在Server中定义主键。如果不这样做,访问将不允许您更新记录,因为它不能保证单个记录上的锁。主键和索引也会对性能产生巨大影响。
编辑:我一直在想你的问题标题。你提到了“安全漏洞”。如果需要考虑安全性,则需要考虑用户将如何连接到数据库。域认证?或SQL身份验证,以及如何记录用户所采取的操作。
https://dba.stackexchange.com/questions/142960
复制相似问题