30.07.09

закрытые диалоги в service broker

Service Broker после завершения диалогов в пределах одного сервера может оставлять их в состоянии "CLOSED" не чистить системные таблицы. Проверить можно запросом:

select count(*) from sys.conversation_endpoints where state='CD'

"Это нормальная ситуация" (c) Remus Rusanu на форуме MSDN

Почистить их можно например вот так:

declare @conversationHandle uniqueidentifier
select top 1 @conversationHandle = conversation_handle from sys.conversation_endpoints where state='CD'
while @@rowcount = 1
begin
end conversation @conversationHandle with cleanup
select top 1 @conversationHandle = conversation_handle from sys.conversation_endpoints where state='CD'
end

0 коммент.:

Отправить комментарий