我正在运行一个 SQL EXPRESS 2005 服务器,目前托管了大约 50 个数据库。数据库服务于客户的 CMS/电子商务网站。连接到单个实例,没有使用用户附加的实例。中位 DB 大小为 5MB,最大为 20MB。网站多为低流量,CPU利用率<10%,SQL进程最多使用350MB RAM。
现在我完全在 1CPU/1GB RAM 的 SQL 服务器明确限制之内。在即将到来的扩展中,数据库的数量可能会翻倍。如果我假设需求呈线性增长,那么仍然不会达到 1GB 的限制。但我担心数据库的数量(> 100)可能会成为一个问题。我不确定这种使用场景是否是微软想要表达的。
关于处理大量小型数据库的 SQL Server Express 能力,是否有任何信息或最好的实际经验?我可以期望它运行 150 个数据库,还是应该开始迁移到其他数据库服务器/基于文件的数据库?
这个答案是不正确的。SQL express 将根据套接字使用一个 CPU。这意味着使用了所有内核。它在 SQL 的许可方案和 SQL express 页面上明确说明了这一点,此处: http: //support.microsoft.com/default.aspx/kb/914278因此,将使用所有内核,并且如果芯片使用超线程,则所有那些也将被使用。无论内核和多线程如何,它都仅限于一个物理 CPU。
不是现实世界,但...
根据开始 SQL server 2005 Express 数据库应用程序由 Rick Dobson
“每个数据库服务器的最大数据库数为 32767”
1GB 内存限制是我的担心。我确信有人在那里运行超过 100 分贝的快递,希望他们会读到这篇文章。
数据库的数量没有限制,但是每个数据库有 4GB 的限制。尽管没有 SQL Server 代理您将如何过日子,这超出了我的理解。我的猜测是,在遇到任何 SQL 服务器限制之前,您将遇到内存限制。
编辑添加
从这里。
根据SQL Server 2005 Express 版概述:
因此,限制是您可以利用服务器的性能。考虑到 Express 版只使用一个 CPU 核心,如果你有一个四核处理器,它的使用率不能超过 25%。
如果您以后发现需要更多地利用服务器的性能,您可以很容易地升级到不同版本的 SQL Server。