Ошибка SQL Server: не удалось выполнить удаленную процедуру - PullRequest
1 голос
/ 05 октября 2011

У меня есть три блока SQL Server 2008, назовите их A, B и C. Каждый из серверов A и B имеет связанный сервер с сервером C. Связанные серверы используют одинаковую настройку связанного сервера на обоих A и B. Оба подключаютсяна C, используя ту же самую регистрационную информацию.У входа в систему есть роль sysadmin, назначенная ему в окне C. Оба были настроены с RPC и RPC OUT, установленными в true.Оба могут выполнять SELECT, INSERT, UPDATE, DELETE без каких-либо проблем.С имеет флажок Разрешить удаленные подключения и Требовать распределенные транзакции.

Проблема возникает, когда я пытаюсь выполнить хранимые процедуры.A-> C работает нормально, но когда я пытаюсь запустить из B, я получаю сообщение об ошибке:

Msg 7201, Level 17, State 4, Line 1
Could not execute procedure on remote server 'C' because SQL Server is not configured for remote access. Ask your system administrator to reconfigure SQL Server to allow remote access.

Я был совершенно не в состоянии понять это.Я проверил и перепроверил связанные конфигурации сервера.Они одинаковы как для A, так и для B. Я провел тест после теста, и все отлично работают с A, но B всегда выдает ошибку.

1 Ответ

0 голосов
/ 06 октября 2011

Когда хранимая процедура выполняется, она запускается как контекст безопасности пользователя, который создал хранимую процедуру, а не пользователя, который ее выполняет. Это считается средством безопасности.

Возможно, учетная запись, используемая для создания хранимой процедуры на сервере B, не имеет правильных прав, в то время как учетная запись, используемая для создания хранимой процедуры на сервере A., имеет.

Повторное создание хранимой процедуры на B с другой учетной записью может решить проблему.

...