清空service broker中的隊列的實現(xiàn)代碼
作者:搏擊的小船
本文我們主要介紹了SQL Server數(shù)據(jù)庫中清空service broker中的隊列的實現(xiàn)代碼,希望能夠?qū)δ兴鶐椭?/div>
清空service broker中的隊列的實現(xiàn)代碼是本文我們主要要介紹的內(nèi)容,在SQL Server數(shù)據(jù)庫操作中,在我們開發(fā)service broker應(yīng)用時候,可能用于測試或者客戶端沒有配置正確等導(dǎo)致服務(wù)端隊列存在很多垃圾隊列,不便于我們排查錯誤,我們可以使用SQL腳本來清空服務(wù)端這些垃圾數(shù)據(jù),接下我們就來介紹這些腳本。
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
那么客戶端接受到的消息如果沒有處理,也會積攢在客戶端隊列中,其實就相當(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ù)庫中清空service broker中的隊列的實現(xiàn)代碼,本文就介紹到這里了,希望本次的介紹能夠?qū)δ兴鶐椭?/p>
【編輯推薦】
- 初學(xué)SQL Server數(shù)據(jù)庫的一些常用操作總結(jié)
- SQL Server數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)倉庫已分區(qū)表詳解
- SQL Server與Access數(shù)據(jù)庫ASP代碼的比較詳解
- SQL Server數(shù)據(jù)庫中bit字段類型使用時的注意事項
- SQL Server數(shù)據(jù)庫timestamp數(shù)據(jù)類型相關(guān)知識介紹
責(zé)任編輯:趙鵬
來源:
博客園

相關(guān)推薦






















