2012-07-31 7 views
0

Я подключен к SQL Server с использованием проверки подлинности Windows. Я создал хранимую процедуру в схеме dbo. Когда я пытаюсь выполнить эту хранимую процедуру в SSMS, я получаю следующее сообщение об ошибкеНевозможно выполнить хранимую процедуру в схеме dbo

Выполнить разрешение было отказано на объекте «sp_test», база данных «MyDB, схема = ДБО

Что необходимо что нужно сделать здесь?

Зачем мне предоставлять разрешение на создание хранимой процедуры, которую я создал?

+1

'sp_' является зарезервированным префиксом для предоставленных MS процедур. Вам не следует использовать такой префикс в своих собственных хранимых процедурах (и вообще избегать любых префиксов вообще) –

ответ

2

Неважно, если вы создали хранимую процедуру. SQL Server не использует проверку подлинности Windows, чтобы определить, есть ли у вас разрешение или нет для выполнения хранимой процедуры. Он использует его только для разрешения на подключение к серверу. После того, как вы подключены, вам необходимо сопоставить свою учетную запись Windows с пользователем в соответствующей базе данных. Как только вы это сделаете, вы, как правило, захотите сделать себя членом роли базы данных (либо создать новый, либо использовать один из предопределенных), а затем предоставить разрешение на выполнение той роли, в которой вы состоите. Это гарантирует, что любой член этой роли может выполнить сохраненный процесс.

+0

'для входа в соответствующую базу данных. Я думаю, что вы имели в виду пользователя. –

Смежные вопросы