在其中一个stackoverflow播客中(我认为#18)Jeff和Joel谈论的是多租户和单租户数据库。 Joel提到“FogBugz on Demand”每个客户架构都使用了一个数据库,我想知道是否还有一个点需要多个数据库服务器才能分配负载?
答案 0 :(得分:10)
从技术上讲,SQL Server中每个实例的数据库限制为32,767,但我怀疑您是否可以使用具有2,000个以上数据库的SQL Server实例,此时服务器可能没有响应。
如果这些数据库全部自动关闭且未被使用,您可能拥有近30,000个数据库。您可以在此处找到有关容量限制的更多信息:
答案 1 :(得分:4)
Joel在另一个地方谈过这个问题(对不起,没有参考方便),并说在切换到MS SQL 2005之前,管理控制台(和后端)在连接超过1000或2000个数据库时遇到了问题。似乎2005年和2008年可能会再次改善这些数字。
至于所有性能问题总是取决于您的实际硬件和工作负载,只能通过本地基准测试/系统监控来明确回答。
答案 2 :(得分:2)
我认为这主要取决于机器的内存限制。 SQL Server喜欢尽可能多地在内存中缓存,并且当您添加数据库时,可以减少可用内存量。
答案 3 :(得分:2)
此外,您可能需要考虑与SQL Server的连接数。在500-1000之后,它变得非常缓慢和缓慢。所以这也是一个限制。
答案 4 :(得分:1)
我认为这更像是数据库负载的问题。如上所述,如果没有负载那么32,767。在高负载下,它会降低,最终降至1或小于1。
答案 5 :(得分:0)
记住崩溃恢复需要时间。并且实例启动时间遍历每个数据库,如果它们都在同一组磁盘上,那么很多还原要做的事情,如果磁盘死了。