SQL Server Express / MS Access LINQ 功能,应该选择哪一个?

3

我有几个ASP.Net数据库前端网站,其中MS Access是后端。我正在尝试使用ASP.Net动态数据网站。为了使它更容易,我应该将这个数据库改为SQL Server Express或其他什么,还是继续使用MS Access就可以了?


访问不是后端——Jet是。 - David-W-Fenton
3个回答

7
选择SQL Express的原因如下:
  1. 可扩展性:MS Access永远无法扩展。一旦并发连接数超过10个,就会开始出现问题。而SQL Express则可以扩展。您始终可以将SQL Express升级到完整的SQL Server安装。虽然Access也有这个功能,但是您的某些SQL语句和数据类型可能无法干净地转移。
  2. 安全性:SQL Server比Access具有更好的安全模型。您可以根据用户锁定数据库中的架构。您还可以更好地管理用户访问权限(例如开发人员用户与测试用户和生产用户)。
  3. 性能:这类似于可扩展性。如果您的网站看到流量激增,Access可能无法处理,而SQL Server Express可能会更好地处理。
  4. 工具:像LINQ这样的工具和库总是针对SQL Server。使用这种方式,您将获得更好的支持和更好的文档。

1

对于大多数只读网站,Jet后端将运行良好,即使是流量较大的网站。Michael Kaplan的旧网站http://trigeminal.com使用Jet数据库作为后端,在它是他的主要网站时(他已经被微软聘用),他说每天有超过100K次点击,并且一直保持良好。

对于读/写操作,Jet将开始在网站上变得缓慢,就像在多用户LAN应用程序中一样,在20到50个同时连接之间,具体取决于您的应用程序设计。

值得一提的是,尽管我是专业的Access开发人员并非常了解Jet,但我不会将Jet用作任何网站的后端。这不是因为我不喜欢Jet用于网站,而是因为我不喜欢Windows作为Web服务器 - 我是Apache支持者(也是PHP开发人员),并在非Windows托管服务上托管所有我的网站(以及我的客户)。我所做的所有网站数据库都使用MySQL作为后端。

简而言之,了解您的主机在数据库后端方面提供了什么,并选择最好的一个。我无法想象一个提供ASP.NET的主机不会提供SQL Server,这绝对是我在这种情况下要选择的。将Jet后端升级到本地PC上的SQL Server很容易,然后进行备份,您可以将其导入到您的网站中。

另一种看待它的方式是,你想花多少时间在你的应用程序上,以及你想花多少时间在你的工具上。 - dkretz
你的评论对讨论有什么实质性的贡献? - David-W-Fenton

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接