1
我想使用SQL Server 2008 Service Broker記錄由存儲過程動態創建的長時間運行(最多約30分鐘)事務的進度。我有兩個目標:在嵌套事務中發送和接收SQL Server Service Broker消息
1),以獲得動態創建語句組成的事務,使交易的完工進度能夠遠程監控的實時記錄,
2)爲了能夠請查看組成事務的步驟,直到發生故障並需要回滾爲止。
我不能簡單地向控制檯打印(或RAISERROR(msg,0,0)),因爲我想將進度消息記錄到表中(即使存儲過程回滾也保留該日誌)。
但我的理解是,直到發送線程提交(外部事務)才能從隊列中接收消息。這是真的?如果是這樣,我有什麼選擇?
不能使用非技術原因CLR。但是,的確,這似乎是最好的選擇。通過使用NOLOCK提示,結束對隊列中未提交的消息的「窺視」。 – Emmanuel 2011-03-31 10:53:38