sqlserver清空service broker中的隊(duì)列的語(yǔ)句分享
更新時(shí)間:2011年08月28日 22:10:37 作者:
在我們開發(fā)service broker應(yīng)用時(shí)候,可能用于測(cè)試或者客戶端沒有配置正確等導(dǎo)致服務(wù)端隊(duì)列存在很多垃圾隊(duì)列,不便于我們排查錯(cuò)誤,我們可以使用SQL腳本來清空服務(wù)端這些垃圾數(shù)據(jù)
復(fù)制代碼 代碼如下:
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
那么客戶端接受到的消息如果沒有處理,也會(huì)積攢在客戶端隊(duì)列中,其實(shí)就相當(dāng)于許多未讀郵件,我們可以使用以下腳本讀取隊(duì)列 ,讀取后隊(duì)列自動(dòng)清空:
復(fù)制代碼 代碼如下:
USE TestDB
DECLARE @RecvReplyMsg NVARCHAR(100) ;
DECLARE @RecvReplyDlgHandle UNIQUEIDENTIFIER ;
BEGIN TRANSACTION ;
WHILE ( 1 = 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 ;
相關(guān)文章
sqlserver中向表中插入多行數(shù)據(jù)的insert語(yǔ)句
關(guān)于sql 2000中如何使用insert語(yǔ)句插入多行記錄,可是郁悶壞了我。2010-08-08
SqlServer中tempdb的日志機(jī)制原理解析及示例分享
tempdb為什么比其他數(shù)據(jù)庫(kù)快?估計(jì)95%以上的程序員們都一臉茫然.Tempdb作為Sqlserver的重要特征,一直以來大家對(duì)它可能即熟悉又陌生.熟悉是我們時(shí)時(shí)刻刻都在用,陌生可能是很少有人關(guān)注它的運(yùn)行機(jī)制.這次我將通過實(shí)例給大家介紹下tempdb的日志機(jī)制.2014-08-08
判斷一個(gè)表的數(shù)據(jù)不在另一個(gè)表中最優(yōu)秀方法
判斷一個(gè)表的數(shù)據(jù)不在另一個(gè)表中最優(yōu)秀方法2009-11-11
sql清空表數(shù)據(jù)后重新添加數(shù)據(jù)存儲(chǔ)過程的示例
這篇文章主要介紹了sql清空表數(shù)據(jù)后重新添加數(shù)據(jù)存儲(chǔ)過程的示例,需要的朋友可以參考下2014-04-04
MSSQL附加數(shù)據(jù)庫(kù)拒絕訪問提示5120錯(cuò)誤的處理方法
這篇文章主要介紹了MSSQL附加數(shù)據(jù)庫(kù)拒絕訪問提示5120錯(cuò)誤的處理方法,需要的朋友可以參考下2014-07-07
使用sqlserver存儲(chǔ)過程sp_send_dbmail發(fā)送郵件配置方法(圖文)
這篇文章用圖文的方式介紹了使用sqlserver存儲(chǔ)過程sp_send_dbmail發(fā)送郵件的方法,大家參考使用吧2014-01-01
SQL Server 獲取服務(wù)器時(shí)間的sql語(yǔ)句
這篇文章主要介紹了SQL Server 獲取服務(wù)器時(shí)間的sql語(yǔ)句,需要的朋友可以參考下2016-07-07

