新聞中心
清空service broker中的隊(duì)列的實(shí)現(xiàn)代碼是本文我們主要要介紹的內(nèi)容,在SQL Server數(shù)據(jù)庫(kù)操作中,在我們開(kāi)發(fā)service broker應(yīng)用時(shí)候,可能用于測(cè)試或者客戶(hù)端沒(méi)有配置正確等導(dǎo)致服務(wù)端隊(duì)列存在很多垃圾隊(duì)列,不便于我們排查錯(cuò)誤,我們可以使用SQL腳本來(lái)清空服務(wù)端這些垃圾數(shù)據(jù),接下我們就來(lái)介紹這些腳本。

SQL腳本如下:
- USE TestDB
- declare @conversation uniqueidentifier
- while exists (select 1 from sys.transmission_queue )
- begin
- set @conversation = (select top 1 conversation_handle from sys.transmission_queue )
- end conversation @conversation with cleanup
- end
那么客戶(hù)端接受到的消息如果沒(méi)有處理,也會(huì)積攢在客戶(hù)端隊(duì)列中,其實(shí)就相當(dāng)于許多未讀郵件,我們可以使用以下腳本讀取隊(duì)列 ,讀取后隊(duì)列自動(dòng)清空:
- USE TestDB
- DECLARE @RecvReplyMsg NVARCHAR(100) ;
- DECLARE @RecvReplyDlgHandle UNIQUEIDENTIFIER ;
- BEGIN TRANSACTION ;
- WHILE ( 11 = 1 )
- BEGIN
- WAITFOR
- ( RECEIVE TOP(1)
- @RecvReplyDlgHandle = conversation_handle,
- @RecvReplyMsg = message_body
- FROM dbo.Test_TargetQueue
- ), TIMEOUT 1000 ;
- END CONVERSATION @RecvReplyDlgHandle ;
- SELECT @RecvReplyMsg AS ReceivedReplyMsg ;
- END
- COMMIT TRANSACTION ;
以上就是SQL Server數(shù)據(jù)庫(kù)中清空service broker中的隊(duì)列的實(shí)現(xiàn)代碼,本文就介紹到這里了,希望本次的介紹能夠?qū)δ兴鶐椭?/p>
本文標(biāo)題:清空servicebroker中的隊(duì)列的實(shí)現(xiàn)代碼
當(dāng)前地址:http://m.fisionsoft.com.cn/article/djhodsd.html


咨詢(xún)
建站咨詢(xún)
