Разрешения EXECUTE запрещены — режим совместимости .NET и SQL2008 100

Недавно мы начали тестировать наши новые серверы SQL2008, работающие в режиме совместимости 100, и одно из наших приложений .NET перестало работать и вернуло ошибку:

Разрешение EXECUTE было отклонено для объекта «Моя хранимая процедура», база данных «Моя база данных», схема «dbo».

Теперь я уже убедился, что логин, с которым это приложение устанавливает соединение, имеет соответствующие права EXECUTE, поэтому я знаю, что это не проблема. Поэтому мне было интересно, есть ли какая-либо другая причина, из-за которой это могло произойти, связанная с режимом совместимости SQL Server 2008 или даже с чем-то еще?

Приложение .NET в настоящее время находится в версии 3.5 и использует System.Data.SqlClient для вызова хранимой процедуры.

Заранее спасибо!


person ajdams    schedule 30.06.2010    source источник
comment
Какой тип аутентификации вы используете? Вы пытались выполнить эту процедуру в студии управления sql? Вы проверили строку подключения, что-то не так?   -  person hgulyan    schedule 08.07.2010


Ответы (1)


Выяснил это - учетной записи пользователя, которую я использовал, требовались соответствующие права EXECUTE (хотя я специально сказал, что сделал это). В Management Studio мне не сказали, что когда я предоставил эти права, они не закрепились, и когда я щелкнул правой кнопкой мыши базу данных, перешел в «Свойства»> «Разрешения» и нашел «Действующие разрешения» для рассматриваемой учетной записи, я обнаружил глупую ошибку. Эта учетная запись изначально пришла из экземпляра SQL2000, и я просто забыл перенести разрешения.

person ajdams    schedule 08.07.2010