我正在构建一个将使用 SQL Server 进行数据存储的 ASP.NET Web 应用程序。我正在继承一个现有的结构,我无法对其进行太多修改。使用此应用程序的人是已付费使用该应用程序的个人公司。每家公司大约有 5 或 10 人将使用该应用程序。大约有1000家公司。按照目前系统的结构方式,每家公司在 SQL Server 实例中都有自己独特的数据库。每个数据库的结构都是一样的。我不认为这是一个好的数据库设计,但我对此无能为力。还有其他应用程序访问了这个数据库,为所有这些应用程序重写数据库接口(interface)将是一项艰巨的任务。
所以我的问题是如何为新的网络应用程序设计架构。每个月的某些时候该网站会获得大量流量。我的感觉是该站点在这些时候表现不佳,因为我猜测当我们有来自不同公司的 500 人同时访问该站点时,他们每个人都会有自己独特的数据库连接,因为他们正在访问不同的 SQL Server 数据库连接字符串。 SQL Server 不会使用任何连接池。我的印象是,这很糟糕。
如果他们将客户数量增加一倍会怎样? SQL Server 可以处理多少个唯一的数据库连接?在这种情况下,我是否应该告诉客户,如果他们想保持可扩展性,他们必须重新设计这个?
谢谢,
科里
最佳答案
您不必为每个数据库创建单独的连接
我有一个在同一台服务器上使用多个数据库的应用程序。我在每个查询前加上“USE dbName;”
我什至在同一个调用中对两个单独的数据库运行查询。
至于调用存储过程,这是一个稍微不同的过程。既然你做不到
Use myDB; spBlahBLah
相反,您必须明确更改连接对象中的数据库。在 .Net 中,它看起来像这样:
myConnection.ChangeDatabase("otherDBName");
然后调用您的存储过程。
关于asp.net - 如何处理连接到多个 SQL Server 数据库的 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3875355/