Сервисный брокер отправляет с SQL Server на SQL Server. Используемый протокол полностью устойчив к сбоям, сообщения остаются в sys.transmission_queue
отправителя до тех пор, пока они не будут подтверждены целевым объектом, и цель только подтвердит их после их передачи в очередь назначения. SQL Server также обрабатывает все, что связано с временными сбоями: невосприимчивым адресатом, сетевым разделением, обслуживанием/исправлением сбоев. Все это обрабатывается самим SQL Server, так как он гарантирует доставку сразу после заказа.
Теперь, что произойдет, если ваш приложение сбой, т.е. при обработке инструкции RECEIVE, очень просто: вы взаимодействуете с Service Broker через T-SQL в контексте транзакции базы данных. Если приложение выходит из строя, происходит обычное поведение транзакций базы данных ACID: поскольку транзакция не была выполнена, она будет откатна, и приложение будет иметь возможность обработать сообщение снова после перезапуска.
Итак, с точки зрения приложения вы взаимодействуете только с базой данных, очередями и таблицами и всеми в контексте транзакции базы данных. Ваши вопросы такие же, как «что происходит с INSERT, если приложение выходит из строя?»
http://technet.microsoft.com/en-us/library/bb522893(v=sql.105).aspx –