我正在构建一个ASP.NET Web应用程序,它将使用SQL Server进行数据存储。我正在继承现有结构,因此无法对其进行太多修改。使用该应用程序的人是已付费使用该应用程序的个人公司。每个公司大约有5或10个人将使用该应用程序。大约有1000家公司。当前系统的结构方式,每个公司在SQL Server实例中都有自己的唯一数据库。每个数据库的结构都相同。我认为这不是一个好的数据库设计,但是我无能为力。还有其他应用程序可以访问此数据库,并且为所有这些应用程序重写数据库接口将是一项艰巨的任务。

所以我的问题是如何为新的Web应用程序设计体系结构。在一个月中,网站上会有很多流量。我的感觉是该站点在这些时候表现不佳,因为我猜测当我们有500名来自不同公司的人同时访问该站点时,他们将各自拥有自己独特的数据库连接,因为他们正在使用不同的方式访问不同的SQL Server数据库连接字符串。 SQL Server将不使用任何连接池。我的印象是,这很糟糕。

如果他们将客户数量增加一倍会怎样? SQL Server可以处理多少个唯一的数据库连接?在这种情况下,我应该告诉客户他们要保持可伸缩性就必须重新设计它吗?

谢谢,
科里

最佳答案

您不必为每个数据库创建单独的连接

我有一个在同一服务器上使用多个数据库的应用程序。我为每个查询加上“ USE dbName;”前缀

我什至在同一调用中的两个单独的数据库上运行查询。

至于调用存储过程,这是一个略有不同的过程。既然你做不到

     Use myDB; spBlahBLah


相反,您必须显式更改连接对象中的数据库。在.Net中,它看起来像这样:

     myConnection.ChangeDatabase("otherDBName");


然后调用您的存储过程。

10-05 21:04
查看更多