Помощь с сообщением об ошибке Service Broker - PullRequest
1 голос
/ 08 апреля 2010

Я получаю эту ошибку в своей таблице sys.transmission_queue всякий раз, когда пытаюсь отправить сообщение SQL Service Broker между двумя разными серверами SQL Server.(т. е. базы данных находятся на двух разных физических машинах)

Dialog security is unavailable for this conversation because there is no security 
certificate bound to the database principal (Id: 5).  
Either create a certificate for the principal, or specify ENCRYPTION = OFF 
when beginning the conversation 

Когда эта ошибка относится к «принципалу базы данных», к чему она относится?(«основная» база данных «пользователь dbo»?) Я использовал команду CREATE CERTIFICATE, сделал резервную копию сертификата и создал сертификат с тем же именем на другом сервере с помощью резервного файла .cer с первого сервера, но я продолжаю получать этосообщение.

Буду признателен за любую помощь в указании меня в правильном направлении.Я, должно быть, упускаю что-то очевидное.

К вашему сведению, в моей среде разработки исходная и целевая базы данных были на одном физическом сервере и в одном экземпляре SQL, и все работало нормально.

Ответы [ 2 ]

2 голосов
/ 08 апреля 2010

Ошибка относится к пользователю в базе данных, на котором размещена ваша служба Service Broker (select name from sys.database_principals where principal_id = 5).

Помимо экспорта сертификата на целевой сервер, вам также необходимо импортировать сертификат целевого сервера, связатьэто с пользователем и создать привязку удаленной службы, чтобы сообщить компоненту Service Broker, какой локальный пользователь представляет удаленную службу.Следующие 2 статьи должны вам помочь: Безопасность диалога Service Broker и Защита диалога с сертификатами .

1 голос
/ 08 апреля 2010

В дополнение к сказанному Павлом я бы также рекомендовал попробовать инструмент SSBDIAGNOSE . Используйте опцию CONFIGURATION, и она точно скажет, какие именно сертификаты нужны пользователю, в какой базе данных, а также проанализирует подключение конечной точки, маршруты и разрешения.

...