Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
DB Engine
SQL ServerMSDESQL Server CE
Services
Analysis (Data Mining)Analysis (OLAP)DTSIntegration ServicesNotification ServicesReporting Services
Programming
CLRConnectivitySQLXML
Other Technologies
ClusteringEnglish QueryFull-Text SearchReplicationService Broker
General
Data WarehousingPerformanceSecuritySetupSQL Server ToolsOther SQL Server Topics
DirectoryUser Groups
Related Topics
MS AccessOther DB ProductsMS Server Products.NET DevelopmentVB DevelopmentJava DevelopmentMore Topics ...

SQL Server Forum / Other Technologies / Service Broker / October 2008

Tip: Looking for answers? Try searching our database.

sys.conversation_endpoints ?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
John Cantley - 11 Jun 2008 19:25 GMT
Should this catalog view always be pretty much empty except for the
conversations currently processing? I cleaned up a bunch from earlier
problems, however on the target instance I get a bunch that have a
state_desc = 'CLOSED', do these clean up after a time or do I need to clean
them the up on my own? I haven't been setting the lifetime of the
conversations because I didn't know that I needed to. The lifetime of the
closed conversations is 68 years in the future. Will they only be removed
once they cross the lifetime boundary?
Bob Beauchemin - 12 Jun 2008 01:33 GMT
Even if both sides of the conversation are closed correctly, conversation
endpoints for the target remain in sys.conversation_endpoints for 30
minutes. This is to prevent replay attacks.

Cheers,
Bob Beauchemin
SQLskills

> Should this catalog view always be pretty much empty except for the
> conversations currently processing? I cleaned up a bunch from earlier
[quoted text clipped - 4 lines]
> closed conversations is 68 years in the future. Will they only be removed
> once they cross the lifetime boundary?
John Cantley - 16 Jun 2008 19:41 GMT
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

> Even if both sides of the conversation are closed correctly, conversation
> endpoints for the target remain in sys.conversation_endpoints for 30
[quoted text clipped - 12 lines]
>> closed conversations is 68 years in the future. Will they only be removed
>> once they cross the lifetime boundary?
Roger Wolter[MSFT] - 28 Jun 2008 21:02 GMT
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?
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.