Доступ к удаленному серверу запрещен, поскольку текущий контекст безопасности не является доверенным - PullRequest
0 голосов
/ 26 июля 2011

У меня есть сервисный брокер, который вызывает процедуру хранилища sp_dequeue очередь -> АКТИВАЦИЯ (СОСТОЯНИЕ = ВКЛ, MAX_QUEUE_READERS = 1, PROCEDURE_NAME = sp_dequeue, ВЫПОЛНИТЬ КАК «Имя пользователя» ); В моем sp_dequeue я вставляю запись на связанный сервер ... Поэтому, когда я звоню sp_dequeue из студии magmnt, все работает нормально. Но когда он вызывается автоматически через сервисный брокер, я получаю сообщение об ошибке: «Доступ к удаленному серверу запрещен, поскольку текущий контекст безопасности не является доверенным.».

В своем свойстве связанного сервера я проверил «Сделано с использованием этого ограничения безопасности» и предоставил имя пользователя и пароль для oracle, а также добавил отображение «Имя пользователя» на сервер oracle (имя пользователя и pwd в Oracle / SQL различаются) Я погуглил на эту ошибку, перепробовал в основном все комбинации. Пожалуйста, помогите мне решить эту проблему. используя Sql server 2005 и оракул 10g

1 Ответ

3 голосов
/ 03 августа 2011

Объяснение дано на Почему функция ... не работает при активации? . Одним из решений является включение TRUSTWORTHY, как вы это сделали. Другой способ заключается в использовании подписи кода, см. Подписание активированной процедуры . Подписание кода сложнее в развертывании, но требуется в очень строгих средах безопасности, поскольку флаги TRUSTWORTHY открывают путь к повышению привилегий с dbo до sysadmin.

...