Service Broker — хранимая процедура, извлекающая данные из нескольких баз данных

Мы используем SQL Service Broker для вызова Stored Proc. Этот сервис-брокер работает нормально, когда мы вызываем хранимую процедуру, которая выполняется из одной базы данных. Но когда он вызывает другую хранимую процедуру, которая извлекает данные из нескольких баз данных, выдает ошибку «Принцип сервера не может получить доступ к «databseB» в текущем контексте безопасности». Обе базы данных используют один и тот же логин и имя пользователя. Я попытался обновить имя входа в соответствии с веб-сайтом Microsoft. Я пробовал все виды вещей, но все еще не добился успеха. Но этот сохраненный Proc при обычном выполнении выполняется без проблем. Но при вызове из Service Broker это не удается. Любая идея, в чем может быть проблема.


person Henry    schedule 02.12.2011    source источник


Ответы (1)


Это проблема разрешения. Добавление пользователя к роли db_owner базы данных должно решить эту проблему.

Также установите для баз данных значение Trustworthy.

person Russell Hart    schedule 03.12.2011