我有一个队列,其中包含一些状态为0的消息。队列已打开保留,并且对话未正确结束。我想把这些消息清理干净。
接收不会获得状态为0的消息,所以我不能简单地循环队列,接收消息并结束对话。有没有办法在不删除和重新创建队列的情况下删除这些消息?
答案 0 :(得分:1)
ALTER QUEUE ... WITH RETENTION = OFF;
状态为0的消息是已收到并保留的消息。发生这种情况是因为授权管理员已为队列启用了保留,无论出于何种目的。见Message Retention:
队列中准备接收的消息的状态为1. RECEIVE语句返回状态为1的消息。在RECEIVE语句返回消息后,它将状态设置为0并保留消息如果启用了邮件保留,则为队列。