WAITFOR(RECEIVE)

ここによるとMS SQLServerでService Brokerからのメッセージを受信する際にWAITFOR(RECEIVE)を使用すると、分散トランザクションを使用できないみたいだ(WAITFORは内部でSAVEPOINTを使用しているらしい)。
こんな例外が発生する。

System.Transactions.TransactionAbortedException: トランザクションが中止されました。
 ---> System.Transactions.TransactionPromotionException: トランザクションを進めるときにエラーが発生しました。
 ---> System.Data.SqlClient.SqlException: このトランザクションを分散トランザクションに昇格できません。アクティブな savepoint がこのトランザクション内に存在します。
...