У меня есть отчет SSRS, который вызывает хранимую процедуру в моей базе данных.
Локально все работает, я подключаюсь с помощью Windows аутентификации локально, чтобы попасть в базу данных, и проблем нет.
Когда отчет SSRS развернут, он настроен на использование другого имени входа, и этот логин имеет правильную роль, чтобы разрешить выполнение хранимых процедур. Однако при попытке просмотреть отчет на сервере SSRS я получаю следующее сообщение:
Не удается найти пользователя dbo, потому что он не существует или у вас нет разрешения.
Если я удалю роль, которая разрешает предоставление прав на выполнение, я получаю более конкретную c ошибку, в которой говорится, что у меня нет разрешения на выполнение хранимой процедуры. Но как только эта роль будет возвращена в учетную запись пользователя, SSRS запускается по мере ее возврата go отображается ошибка
Не удается найти пользователя 'dbo'
Роль У меня есть права на выполнение, предоставленные пользователем dbo, это владелец базы данных. Я нашел в Интернете вещи, говорящие о том, что возможно, что резервная копия базы данных испортила логины некоторых пользователей. Я проверил, и sid владельца базы данных такой же, как sysuser sid для name = 'dbo', поэтому я не думаю, что это проблема.
Кто-нибудь еще знает, что я могу попробовать ?
EDIT: Подробная информация о хранимой процедуре: это простой выбор с некоторыми внутренними соединениями. В конце хранимой процедуры выполняется следующая процедура предоставления доступа к роли, в которую входит мой пользователь SSRS:
GRANT EXECUTE
ON OBJECT::[dbo].[Application_LoadData] TO [SSRSUserRole]
AS [dbo];