LuckyLindy-我鼓励您停下来一秒钟,并确认您不需要SQL Agent。你写了:
我们将推出一个双重Web /内部事务应用程序,其中每个客户端都有自己的数据库。每个数据库都很小-每个数据库都小于50MB,因此我们想知道使用SQL Express 2008而不是完整的SQL Server是否有意义。
您的备份计划是什么?您不必使用SQL Agent,但可以确保DBA的工作更加轻松。您可以编写T-SQL / SMO / PowerShell /执行备份的所有脚本,然后使用计划任务通过sqlcmd或PowerShell执行。
您的数据库维护计划是什么?随着时间的流逝,将需要对这些数据库进行碎片整理并检查其一致性。Standard Edition提供了各种便利来简化此过程,而在Express中,您必须进行工作(再次执行脚本和计划的任务)。
如何将服务器上的问题通知您?代理在此处通过警报帮助您,以在日志已满,磁盘已满等时通知您。
这些是关键的SQL Server DBA类型任务。为内部应用程序运行Express是一回事,但是一旦您开始告诉我们要为客户托管这些应用程序,我就会很担心:)
其中的第二部分是询问您计划在启动时和一年后支持多少客户?如果您说“ 100个客户端”,那么Express上100个50MB数据库将不够用-您只是没有足够的内存。哎呀-我不知道,取决于您有多少增量,您最多可以达到15个DB。
我们永远不会有超过200个并发用户,并且大多数操作将更具事务性(这似乎比重载RAM / CPU更青睐大量的高速磁盘,对吗?)
诸如INSERT之类的事务性操作仍会写入内存,因此不要指望您需要更少的内存支持。实际上,根据您执行的INSERT数量,您可能比使用该数量的大多数用户具有更大的内存需求。如果您要加载很多人们实际上不会使用的数据,那么它仍然会占用内存。您可能会遇到“用户经常查询的数据”和“用户正在加载的数据,一段时间内没人会查询”之间的争用问题。SQL通过保留人们在内存中更频繁查询的数据更长的时间来保护我们,但是您仍然会遇到争用。
在这一点上,我正在大声笑。200名并发用户也都不喜欢Express。假设平均连接内存需求为64k,您的应用程序将建立多少个连接?您将使用连接池吗?
总而言之,通过阅读您的描述,我的直觉告诉我:“否-Express Edition不够强大。” 我讨厌工作组版-认为这很不好-所以Standard在我看来似乎很对。