基于MultiDatabase的Web应用程序架构

时间:2014-12-25 08:38:05

标签: asp.net sql-server asp.net-mvc sql-server-2008-r2 sql-server-2012

如果我们有一个ASP MVC4 Web应用程序,并且我们必须通过登录将它提供给多家公司,那么对于数据库架构而言应该是最好的方法。 我们是否应该为每个公司和网址制作单独的dbs,我们将连接各自的数据库? 或者我们应该为每个公司制作一个数据库并使用密钥吗?

因为每家公司都将使用相同的Web应用程序,但具有自己的记录。

我仍然对此感到困惑,因为如果我们为100家公司制作单独的dbs并且我们需要更改db的列或单元格,或者我们想要在我们的软件中进行更新,我们将不得不以100 dbs进行更改。那么Microsoft是否为SQL Server 2008R2提供了一些方法。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

如我的实践所示,通常不同的公司希望Web应用程序的某些部分具有不同的功能或附加功能。因此,不仅要分离数据库,还要分离网络应用程序。 还有问题是内联网还是互联网解决方案?如果内联网 - 没有问题。如果是互联网 - 使用三级域名和每个公司的单独数据库。它会给你更多的灵活性。

答案 1 :(得分:1)

这并不像听起来那么简单,因为它完全取决于你在做什么。

微软有一篇很好的论文,我强烈建议你在开始之前阅读。 http://msdn.microsoft.com/en-us/library/aa479086.aspx

在我们公司,我们为每个客户使用一个数据库,并使用主数据库来跟踪我们拥有的数据库以及它们所在的服务器。我们还有一些其他数据库可用于累积报告和跟踪后台流程。我们只有一个网站访问那些适合我们的数据库。