Как настроить хранимую процедуру для доступа к таблице в другой базе данных

У меня есть две базы данных на одном сервере SQL:

База данных A

  • таблица 1
  • таблица 2
  • sproc x

База данных B

  • таблица 3
  • таблица 4
  • sproc y
  • sproc z

Я хочу предоставить пользователю user1 доступ к базе данных, но только через разрешение EXECUTE для sprocs.

  • sproc x выполняет соединение между таблицей 1 и 2, и пользователь1 может выполнить.
  • sproc y выполняет соединение между таблицами 3 & 4, и пользователь1 может выполнить.
  • sproc z выполняет соединение между таблицами 1 & 4, а пользователь user1 не может выполнить, если я не предоставлю разрешение SELECT для таблица 1. Почему это так?

Я не хочу предоставлять разрешение на выбор, потому что это нарушает модель безопасности «доступ к базе данных только через sprocs»

5
задан Brian Vander Plaats 28 October 2010 в 15:17
поделиться