Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Можно ли запретить напрямую обращаться к объектам другой базы  [new]
CrossDbSynonym
Guest
... но оставить возможность обращения через синонимы? Имеется приложение, серверная часть которого распределена между двумя базами на одном сервере. По некоторым соображениям сейчас обращения из одной базы к объектам другой базы делается через синонимы. Но, поскольку программу ведут несколько человек, есть некоторая вероятность того, что кто-то из этих нескольких забудет про вышеупомянутое правило, и обратится напрямую (db_name.schema_name.object_name) - как запретить такие обращения, но оставить возможность обращения через синонимы? Под объектами в данном случае подразумеваются любые объекты, для которых может быть создан синоним - таблицы, вьюхи, функции, ХП, итд. Сервер 2005-й.
23 янв 16, 10:06    [18719540]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли запретить напрямую обращаться к объектам другой базы  [new]
LoopN
Guest
Первое, что пришло в голову:
Создать роль, для каждой ХП, view, функции дать разрешение на выполнение для этой роли.
Убрать у этих пользователей все роли и добавить новую роль.
23 янв 16, 12:36    [18719773]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли запретить напрямую обращаться к объектам другой базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
CrossDbSynonym
Но, поскольку программу ведут несколько человек, есть некоторая вероятность того, что кто-то из этих нескольких забудет про вышеупомянутое правило, и обратится напрямую (db_name.schema_name.object_name) - как запретить такие обращения, но оставить возможность обращения через синонимы?

Вы сейчас спрашиваете о том, как запретить "ведущему программы" написать в своем коде db_name.schema_name.object_name ?
23 янв 16, 20:40    [18720820]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить