MS SQL Server - Таблица Sysobject базы данных отсутствуют разрешения?

Я собираюсь решить проблему, которая остро стоит, и я провела последний день безуспешно. У меня есть сервер базы данных под управлением SQL Server 2008, одна база данных и одна хранимая процедура.

Логика хранимой процедуры содержит следующее предложение:

IF EXISTS
(
 SELECT * 
 FROM dbo.sysobjects 
 WHERE id = OBJECT_ID( '<StoredProcedureNameHere>' ) 
 AND OBJECTPROPERTY( id, N'IsProcedure' ) = 1
)
BEGIN
   -- Do something here
END

Теперь вопрос:

Если я запускаю запрос из сценария Management Studio для выполнения хранимой процедуры, которая расследуется, она работает правильно и выполняет логику "- Сделай что-то здесь". Однако точно такая же хранимая процедура, вызываемая из веб-службы, НЕ работает. Я отключил проверку всего блока IF EXISTS(---), и полученная информация является правильной.

Мой предварительный вывод заключается в том, что должны быть какие-либо настройки разрешений (о которых я, очевидно, не знаю), настроенные для моей учетной записи пользователя в базе данных (и, следовательно, в таблице sysobject), позволяющие мне успешно получать информацию, которая НЕ находится вместо учетной записи пользователя. используется веб-сервисом для доступа к базе данных.

Кто-нибудь знает какие-либо стандартные настройки, которые я должен проверить, чтобы это работало?

Подсказка - компоненты базы данных и веб-службы работали отлично. Все такого рода проблемы начали возникать сразу после сбоя сервера базы данных, и операционным командам нужно было перестроить сервер базы данных. Отвечая на вопрос о состоянии баз данных, они сказали, что могут сделать резервную копию базы данных, и они должны работать как восстановленные сразу после сборки нового сервера.

Любая помощь будет принята с благодарностью.

Спасибо,

1 ответ

Решение

К счастью, проблема была устранена после того, как команда разработчиков выяснила, что конфигурация для учетной записи домена, используемой веб-службой, неверна. Пару дней в поисках чего-то, что не должно вызывать проблем, если вики-страница Config будет следовать шаг за шагом (все жалуются, когда нет документов, но когда они доступны, они вообще не используются).

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

Надеюсь, это поможет кому-то еще.

Спасибо,

Другие вопросы по тегам