根据文档,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。
问题: 如何清除管理服务/特定管理数据库?
子问题: 我怎样才能防止这种形式再次发生?我缺少一个设置吗?
答案 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