Альтернативой может быть создание мастер-ключа для сервисного брокера.
Сначала проверьте очередь своего сервисного брокера, щелкнув правой кнопкой мыши по очереди и просмотрев очередь передачи, или просто используйте этот запрос
SELECT *, casted_message_body = CASE message_type_name WHEN 'X'
THEN CAST(message_body AS NVARCHAR(MAX))
ELSE message_body
END
FROM [DATABASE_NAME].[sys].[transmission_queue]
Если вы найдете здесь какие-либо данные, причина этого будет в столбце translation_status.
Если посредник не играет своей роли, я бы создал NEW_BROKER со следующим запросом
USE [master]
ALTER DATABASE [DATABASE_NAME] SET NEW_BROKER
Затем включите БРОКЕРА с TRUSTWORTHY, установленным в ВКЛ.
ALTER DATABASE DATABASE_NAME SET ENABLE_BROKER;
ALTER DATABASE DATABASE_NAME SET TRUSTWORTHY ON;
Наконец, сбросив мастер-ключ и создав новый мастер-ключ и зашифровав его новым паролем:
ALTER AUTHORIZATION ON DATABASE::DATABASE_NAME TO [SA];
DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '79HGKJ67ghjgk^&*^fgj'
GO
Пароль можетбыть пользовательской смесью буквенно-цифровых символов и символов.
Если выполнение какого-либо из вышеперечисленных шагов занимает больше времени, я бы предложил вам остановить запрос, открыть диспетчер SQL и повторить попытку.Это должно работать хорошо !!