SQL 服务器数据库邮件的容量或频率限制

Volume or frequency limitations of SQL Server Database Mail

我为一家小型建筑公司创建了两个数据库应用程序之间的夜间同步,并使用数据库邮件设置了简单的通知,让一些人知道加载是否成功。现在他们看到此通知正在运行,我被要求在员工全天更改工作订单时向他们的客户提供状态更新。

我做了一些研究,了解到 DB Mail 不是为此类功能设计的,但我认为频率会足够小,不会成为问题。我估计每天有 50-200 封电子邮件。

我找不到任何关于 DB Mail 的实际限制的信息,想知道过去是否有人尝试过类似的东西,或者是否可以将我推向正确的方向以使用最佳实践发送这些电子邮件。

如果我们在这里谈论数百个,您绝对可以继续。在 Database Mail MSDN page 处取一个峰值。当前的设计(即任何 post-SQL2000)是专门为大型、高性能企业实施而设计的。它建立在 Service Broker(SQL Server 的消息队列总线)之上,通过进程隔离、集群和故障转移提供异步处理和可扩展性。一个警告是增加了事务日志压力,因为消息与其他一些实现不同,受 SQL 服务器的 ACID 保护,这反过来使您在发生故障时可以完全恢复队列。

如果您想知道 Service Broker 在迁移到专用解决方案之前可以处理什么,那么 MySpace case study 很棒。最有趣的片段:

We didn’t want to start down the road of using Service Broker unless we could demonstrate that it could handle the levels of messages that we needed to support our millions of users across 440 database servers,” says Stelzmuller. “When we went to the lab we brought our own workloads to ensure the quality of the testing. We needed to see if Service Broker could handle loads of 4,000 messages per second. Our testing found it could handle more than 18,000 messages a second. We were delighted that we could build our solution using Service Broker, rather than creating a custom solution on our own.