从NServiceBus和ServiceInsight中删除消息

时间:2014-04-17 11:08:57

标签: ravendb nservicebus serviceinsight

根据文档,NServiceBus通过存储在C:\ProgramData\Particular\ServiceBus.Management\Data中的RavenDB中的管理服务保留消息。请参阅Working with Error and Audit queues

Ayende has confirmed数据库只能增加大小,永远不会返回分配的磁盘空间。

我的问题是数据文件现在超过20GB,消息为+3百万。

请注意,这些消息位于管理数据库中,而不是存储在C:\Program Files\NServiceBus.Persistence.v4\Database\Databases中的任何消息队列数据库中。

可以在ServiceInsight中查看300万条消息,但我无法删除它们。 所有MSMQ队列都是空的,队列数据库的大小约为1MB。

问题: 如何清除管理服务/特定管理数据库?

子问题: 我怎样才能防止这种形式再次发生?我缺少一个设置吗?

2 个答案:

答案 0 :(得分:3)

旧版本的ServiceControl曾被称为特殊管理服务,您提到的数据文件就是为此而设。 如果您已卸载旧版本(用于安装此Windows服务的NServiceBus安装程序),则不再需要它。你可以删除它。

有关ServiceControl数据文件的最新版本的更多信息,请访问:http://docs.particular.net/ServiceControl/configure-ravendb-location

此外,使用最新版本的ServiceControl,以下是如何设置过期策略: http://docs.particular.net/ServiceControl/how-purge-expired-data

获取最新信息: http://particular.net/downloads

答案 1 :(得分:0)

您可以强制对数据库进行压缩。

http://localhost:8080/admin/compact?database=YOUR_DB_NAME