我正在运行一个SQL EXPRESS 2005服务器,目前托pipe~50个数据库。 数据库服务于客户的CMS /电子商务网站。 连接是一个实例,没有用户连接的实例正在使用。 数据库中位数为5MB,最大为20MB。 该网站大多stream量低,CPU利用率<10%,SQL过程使用最多350MB的RAM。
现在我已经在1CPU / 1GB RAM的SQL Server Express限制之内了。 在即将到来的扩展中,数据库的数量可能翻番。 如果我假设需求线性增长,则1GB的限制仍然不会达到。 但是我担心数据库的数量(> 100)可能成为一个问题。 我不确定这种使用情况是否是微软想要expression的。
有没有关于SQL服务器快速处理大量小型数据库的信息或最好是真实世界的经验? 我可以期望它运行150个数据库,还是应该开始迁移到其他数据库服务器/基于文件的数据库?
根据SQL Server 2005 Express版本概述 :
可以连接到服务器的数据库的数量没有限制。
所以,限制是你可以利用多less性能的服务器。 考虑到Express版本只能使用一个CPU核心,如果你有一个四核心处理器,它不能使用超过25%。
如果您以后发现需要使用更多的服务器性能,则可以很容易地升级到不同版本的SQL Server。
这个答案是不正确的。 SQL Express将按照套接字使用一个CPU。 这意味着使用所有核心。 它清楚地说明了SQL的许可scheme和SQL express页面,在这里: http : //support.microsoft.com/default.aspx/kb/914278因此,将使用所有核心,如果芯片使用超线程所有那些也将被使用。 无论内核还是multithreading,它仅限于一个PHYSICAL CPU。
不是现实世界,但…
根据开始SQL Server 2005 Express数据库应用程序由Rick Dobson
“每个数据库服务器的最大数据库数是32767”
1GB内存限制将是我的担心。 我确定有人在那里跑100分贝以上,希望他们能读到这个。
数据库的数量没有限制,但每个数据库的限制为4GB。 尽pipe如果没有SQL Server代理,你是如何得不到我的。 我的猜测是,在运行到任何SQL服务器限制之前,您将碰到内存限制。
编辑添加
1 GB RAM限制是缓冲池可用的内存限制。 缓冲池用于存储数据页面和其他信息。 但是,跟踪连接,locking等所需的内存不计入缓冲池限制。 因此,服务器总共可以使用多于1 GB的缓冲池,但永远不会使用超过1 GB的缓冲池。 地址窗口化扩展(AWE)或3 GB数据访问不受支持或不需要。
从这里 。