Лучшим решением, вероятно, был бы вариант 1. Операционные издержки, связанные с этим, были бы довольно малы:
- Завершить работу хоста издателя
- Очистить подписки дБ
- Отказов всех подписчиков
- Запуск хоста издателя
Вариант 3 также будет возможен, но он будет включать в себя вызов отписки от каждого абонента, что приводит к значительным накладным расходам IMO (плюс потребует перераспределения, если вызов отмены подписки еще не реализован, и затем отключение для запуска вызова).
Вариант 2 кажется немного хакерским, но он будет стоить дешевле, так как вы можете просто запустить SQL-запрос против издателя db и bob - брата вашей матери.
Я бы порекомендовал вариант 1.