Я работаю с базой данных (назовем ее DB_data), которая содержит все таблицы для ряда приложений. В попытке минимизировать время простоя во время обновлений была создана база данных фасада (назовем ее DB_facade), которая имеет представление для каждой из таблиц в DB_data. Он также содержит все функции и хранимые процедуры, которые работают против этих представлений.
Пытаясь заблокировать защиту в DB_data, мы сделали DENY для всех таблиц для всех пользователей в DB_data. Все эти пользователи также были созданы в DB_facade с разрешениями на представления.
Проблема здесь в том, что из-за цепочки владения несколькими базами данных DENY в DB_data переопределяют GRANT в DB_facade.
Я бы хотел избежать включения цепочки владения для обеих этих баз данных из-за потенциальных проблем безопасности (хотя в моих первоначальных тестах это, похоже, исправляло проблему доступа). Кроме того, мы пытаемся свести к минимуму влияние на приложения, поэтому не требуется, чтобы весь доступ осуществлялся через хранимые процедуры и с использованием сертификатов (например).
У кого-нибудь есть еще какие-нибудь предложения о том, как с этим справиться?
Спасибо!