Как я могу заставить MS Query (в Excel) просматривать таблицы с полевым уровнем безопасности на SQL Server 2005 или более поздней версии? - PullRequest
1 голос
/ 19 января 2010

MS Query при подключении к SQL Server через источник данных ODBC использует системную процедуру sp_tables для получения списка таблиц в базе данных.Исходный текст для sp_tables можно просматривать, но не изменять.Проблема этой процедуры заключается в том, что она не возвращает имя таблицы, для которой подключенный пользователь имеет разрешения на доступ только к определенным столбцам.Он возвращает только таблицы, для которых подключенный пользователь имеет полный доступ SELECT.

Мы используем роли базы данных с явно предоставленным доступом к таблицам в нашем хранилище данных.У нас есть модель для обеспечения безопасности вплоть до полевого уровня, но мы не можем включить ее из-за описанной выше проблемы.Большинство пользователей получают доступ через MS Query и Excel, потому что у всех есть MS Office, и мы обучили их его использованию.

Поскольку многие отчеты уже построены вокруг этого продукта, перенос пользователей на другой продукт не является вариантомв настоящее время.

Одним из предложений было создание представлений только с доступными столбцами и предоставление выбора для этих представлений.Это сработало бы, но 1) не использовало бы цель доступа на уровне поля и не слишком далеко от нашего текущего обходного пути; 2) потребовало бы переподготовки пользователей для использования новых представлений вместо таблиц, которыми они являются.привык к.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...