Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Распределение полномочий на MS SQL Server 2008 R2  [new]
dubok79
Member

Откуда: Владимирская обл.
Сообщений: 141
Есть две базы. db1 и db2. Клиент обращается к db1 вызывая в ней хранимую процедуру p1. В этой процедуре идет считывание данных из db2 как SELECT id FROM db2.dbo.tbl2 WHERE id>1
Аутентификация на сервере стоит Windows only. Пользователь добавлен на сам сервер и входит в роль r_user, эта же роль установлена на хранимую процедуру p1. Так вот возникает ошибка, что нет прав на SELECT таблички tbl2. Если добавить на табличку роль r_user на SELECT, то ошибка пропадает. Вопрос: как можно указать базе или серверу, что бы полномочия установленные на ХП передавались на табличку. Спасибо.
31 июл 13, 06:52    [14640854]     Ответить | Цитировать Сообщить модератору
 Re: Распределение полномочий на MS SQL Server 2008 R2  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
dubok79
как можно указать базе или серверу, что бы полномочия установленные на ХП передавались на табличку.
Например, так:

Убедитесь, что у обеих баз один и тот же владелец. Например, sa.
У базы db1 должен стоять атрибут TRUSTWORTHY.
Если после этого не взлетит, то в хранимую процедуру добавить with execute as owner.
31 июл 13, 07:33    [14640884]     Ответить | Цитировать Сообщить модератору
 Re: Распределение полномочий на MS SQL Server 2008 R2  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Или почитать про ownership chains и cross-database ownership chaining.

автор
эта же роль установлена на хранимую процедуру

Это бессмыслица, на процедуры не устанавливаются никакие роли. Для роли могут быть выданы какие-либо права над процедурой, или владение объектом может быть передано роли.
31 июл 13, 09:26    [14641060]     Ответить | Цитировать Сообщить модератору
 Re: Распределение полномочий на MS SQL Server 2008 R2  [new]
dubok79
Member

Откуда: Владимирская обл.
Сообщений: 141
Ennor Tiegael
dubok79
как можно указать базе или серверу, что бы полномочия установленные на ХП передавались на табличку.
Например, так:

Убедитесь, что у обеих баз один и тот же владелец. Например, sa.
У базы db1 должен стоять атрибут TRUSTWORTHY.
Если после этого не взлетит, то в хранимую процедуру добавить with execute as owner.


Не получается. Все равно ругается на таблички :( что не может выполнить SELECT
31 июл 13, 13:39    [14642670]     Ответить | Цитировать Сообщить модератору
 Re: Распределение полномочий на MS SQL Server 2008 R2  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
dubok79,

Матом ругается? Или точное сообщение об ошибке таки можно будет лицезреть?
31 июл 13, 17:50    [14644518]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить