Мы используем SQL Service Broker для вызова Stored Proc. Этот сервис-брокер работает нормально, когда мы вызываем хранимую процедуру, которая выполняется из одной базы данных. Но когда он вызывает другую хранимую процедуру, которая извлекает данные из нескольких баз данных, выдает ошибку «Принцип сервера не может получить доступ к «databseB» в текущем контексте безопасности». Обе базы данных используют один и тот же логин и имя пользователя. Я попытался обновить имя входа в соответствии с веб-сайтом Microsoft. Я пробовал все виды вещей, но все еще не добился успеха. Но этот сохраненный Proc при обычном выполнении выполняется без проблем. Но при вызове из Service Broker это не удается. Любая идея, в чем может быть проблема.
Service Broker — хранимая процедура, извлекающая данные из нескольких баз данных
Ответы (1)
Это проблема разрешения. Добавление пользователя к роли db_owner базы данных должно решить эту проблему.
Также установите для баз данных значение Trustworthy.
person
Russell Hart
schedule
03.12.2011