У меня также есть подобная проблема. И представление проводника не уважает набор полномочий на сайте.
Ваш подход неверен.
Если вы хотите использовать отфильтрованные представления, вы должны использовать пользователя домена с учетной записью CRM. Приложение имеет собственный уровень безопасности поверх уровня безопасности базы данных. Итак, хотя вы предоставили пользователю доступ к самой базе данных, приложение позаботится о безопасности в отношении его привилегий CRM. См. Отфильтрованные представления
Отфильтрованные представления полностью совместимы с моделью безопасности Microsoft Dynamics CRM. Когда вы запускаете отчет, который получает данные из отфильтрованных представлений, роль безопасности Microsoft Dynamics CRM определяет, какие данные вы можете просматривать в отчете.
Имейте в виду, что в основном единственное реально поддерживаемое использование прямого доступа к базе данных в Dynamics CRM сообщает (и это ограничено отфильтрованными представлениями). Ты не должен
Для использования отфильтрованных представлений необходимо установить CRMReaderRole на логине, затем перед запросом данных установить CONTEXT_INFO
One Time Setup
USE [CRM_MSCRM]
GO
EXEC sp_addrolemember N'CRMReaderRole', N'your sql login here'
GO
then do this before you query the filtered views
SELECT @uid = SystemUserId FROM CRM_MSCRM.dbo.SystemUserBase WHERE FullName = 'CRM USER TO IMPERSONATE'
SET CONTEXT_INFO @uid
NOTE: Это будет работать с пользователем SQL, но это не будет работать с сервером, который соединен с сервером. Протестировано на CRM 2011 UR 17
.