What do I check if one of them doesn't clean out the 'CLOSED' conversations.
One of my servers keeps everything cleaned up in the endpoints view but on
the other server they just build up and don't get removed. Is there a
setting for the 30 minute clean up?
Thanks,
JC
There could be many causes but this is usually cause by doing a BEGIN, SEND,
END pattern on the initiator side of the conversation. If the initiator
ends the conversation before the target gets the message, the target is not
able to complete the END CONVERSATION protocol because the initiator is gone
before the dialog is created on the target side. The right way to do this
is if you are doing a one message conversation is to have the initiator do a
BEGIN DIALOG, and SEND but not do the END CONVERSATION until it receives the
END message back from the target. There are many examples of this in the
BOL and other sources.

Signature
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
> What do I check if one of them doesn't clean out the 'CLOSED'
> conversations. One of my servers keeps everything cleaned up in the
[quoted text clipped - 20 lines]
>>> the closed conversations is 68 years in the future. Will they only be
>>> removed once they cross the lifetime boundary?
mnava - 30 Aug 2008 01:24 GMT
Check this link:
http://technet.microsoft.com/es-es/library/ms187377(SQL.90).aspx
if you don't put a LIFETIME value at the BEGIN DIALOG CONVERSATION it will
be by default the max integer value what means 68+ years before.... thas why
the lifetime you got is in 2074+....
greetings
> There could be many causes but this is usually cause by doing a BEGIN, SEND,
> END pattern on the initiator side of the conversation. If the initiator
[quoted text clipped - 30 lines]
> >>> the closed conversations is 68 years in the future. Will they only be
> >>> removed once they cross the lifetime boundary?
mnava - 30 Aug 2008 01:27 GMT
Sorry i wrote before it was AFTER :)
> Check this link:
>
[quoted text clipped - 46 lines]
> > >>> the closed conversations is 68 years in the future. Will they only be
> > >>> removed once they cross the lifetime boundary?
Kevin Horner - 01 Oct 2008 05:44 GMT
Is the effect of not using the END CONVERSATION statement going to be the
tempDb and the initiating DB growing to massive sizes? If so, can you clean
it up with this:
DECLARE @convId uniqueidentifier
DECLARE conv_cursor CURSOR
READ_ONLY
FOR select top 514 conversation_handle
from sys.conversation_endpoints
OPEN conv_cursor
FETCH NEXT FROM conv_cursor INTO @convId
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
END CONVERSATION @convId WITH CLEANUP;
FETCH NEXT FROM conv_cursor INTO @convId
END
END
close conv_cursor
deallocate conv_cursor
Thanks,
KH
> Check this link:
>
[quoted text clipped - 49 lines]
>> >>> the closed conversations is 68 years in the future. Will they only be
>> >>> removed once they cross the lifetime boundary?
Kevin Horner - 01 Oct 2008 21:50 GMT
I think the better way to clear out everything is to:
alter database [dbname] set new_broker WITH ROLLBACK IMMEDIATE
Thanks,
KH
> Is the effect of not using the END CONVERSATION statement going to be the
> tempDb and the initiating DB growing to massive sizes? If so, can you
[quoted text clipped - 98 lines]
>>> >>> be
>>> >>> removed once they cross the lifetime boundary?