Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 В ХП вызов данных из дугой базы.  [new]
SvinoZavr
Guest
В ХП sp_1 из базы DB1 есть строка типа:

SELECT * FROM DB2.dbo.Table1

Если процедуру выполнять с правами sa, то всё пролетает на ура. А если её запускает юзер, у которого есть только право на запуск sp_1, то SQL-ник вякает в том смысле, что у этого юзера нет права на SELECT из DB2.dbo.Table1. А такого права и правда нет. Базы DB1 и DB2 лежат на одном сервере. Owner у них обеих один и тот же. И в чём засада?
24 янв 03, 15:54    [114485]     Ответить | Цитировать Сообщить модератору
 Re: В ХП вызов данных из дугой базы.  [new]
Белов Владимир
Member

Откуда: Москва
Сообщений: 1716
Но ведь у каждого пользователя свой owner, не правда ли?
Соответственно, тебе просто нужно предоставить пользователю доступ в др. БД.
24 янв 03, 16:03    [114499]     Ответить | Цитировать Сообщить модератору
 Re: В ХП вызов данных из дугой базы.  [new]
Ден
Member

Откуда: Москва
Сообщений: 2076
Либо сделать так, чтобы владелец у этих баз был один.. У меня вчера такая же проблема была
24 янв 03, 16:11    [114508]     Ответить | Цитировать Сообщить модератору
 Re: В ХП вызов данных из дугой базы.  [new]
Белов Владимир
Member

Откуда: Москва
Сообщений: 1716
В истинном понимании владелец и может быть один. Но в самой БД он dbo - все.
Поэтому один только выход отмапить пользователя в БД.
24 янв 03, 16:16    [114518]     Ответить | Цитировать Сообщить модератору
 Re: В ХП вызов данных из дугой базы.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Можно еще "воспользоваться" пользователем guest. Правда это открывает доступ к базе всем расрешенным логинам.

А еще в SQL2000 SP3 появилось Cross DB Ownership
24 янв 03, 17:14    [114608]     Ответить | Цитировать Сообщить модератору
 Re: В ХП вызов данных из дугой базы.  [new]
SvinoZavr
Guest
Но ведь у каждого пользователя свой owner, не правда ли?
Соответственно, тебе просто нужно предоставить пользователю доступ в др. БД.


А у него есть доступ. Права на SELECT нет, а доступ есть.

В истинном понимании владелец и может быть один. Но в самой БД он dbo - все.
Поэтому один только выход отмапить пользователя в БД.


Не понял. Что значит отмапить пользователя в БД?

Либо сделать так, чтобы владелец у этих баз был один

Так он и так один. Не работает.

Опытным путём на такое решение набрёл: надо, чтобы в DB1 owner'ом был sa. Так работает. При таком раскладе не важно, кто DB2 владеет.

А если базы на разных серверах лежат?..
24 янв 03, 18:07    [114655]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить