Проблема с правами доступа к базе данных (SQL Server 2008) - PullRequest
0 голосов
/ 05 февраля 2010

Я создал приложение C #, которое читает файл конфигурации, получает строки подключения и для каждой строки подключения читает список сохраненных процедур для дальнейшей обработки. Теперь я столкнулся с некоторыми проблемами с разрешениями. При разработке приложения я использовал строки подключения с пользователями уровня dbo. Строки подключения в реальной жизни предназначены для пользователей sql только с разрешениями на чтение и запись данных, но когда я выполняю

select user_name(uid) as owner, name from dbo.sysobjects where type='P' order by name asc

чтобы получить список процедур, использующих такого пользователя, запрос не возвращает записей (хотя он возвращает процедуры, если я выполняю как dbo)

Я не хочу давать дополнительные разрешения пользователям в строках подключения по соображениям безопасности, поэтому мой вопрос - как может пользователь, у которого есть только права на чтение / запись данных, получить список сохраненных процедур или если это невозможно каковы минимальные права доступа пользователя к этой информации?

Я использую SQL Server 2008

Ответы [ 3 ]

1 голос
/ 05 февраля 2010

Я хотел бы создать хранимую процедуру, прикрепленную к учетным данным, принадлежащим моему приложению, которая будет принимать параметры пользователя и запросы к системным объектам для возврата доступных процедур. Последующее выполнение этих процедур может выполняться с помощью указанных вами строк подключения.

0 голосов
/ 09 февраля 2010

На самом деле я понял это - пользователю нужно предоставить разрешения для каждого хранимого процесса, который мы хотим перечислить

0 голосов
/ 07 февраля 2010

используйте этот скрипт:

select user_name(schema_id) as owner, name from sys.procedures
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...