Как выбрать из представления sys.dm_tran_commit_table роль пользователя приложения в SQL Server?

Мы используем роли приложений в нашем приложении для доступа к SQL Server. Мы вызываем sp_setapprole, чтобы установить роль приложения, прежде чем выполнять какие-либо другие запросы из базы данных.

Мы должныselectиз представления sys.dm_tran_commit_table, для которого нам нужно предоставить разрешения на выбор в этом представлении для роли приложения.

выполнениеGRANT SELECT ON [sys].[dm_tran_commit_table] TO [AriaEvents]приводит к ошибке

Разрешения на представления каталога на уровне сервера или системные хранимые процедуры или расширенные хранимые процедуры могут быть предоставлены только в том случае, если текущая база данных является главной.

Однако, поскольку роль приложения создается в конкретной базе данных, а не в базе данных master, описанное выше не может быть выполнено вmasterбаза данных.

Как мы можем предоставить разрешения роли приложения, чтобы иметь возможность выбирать на[sys].[dm_tran_commit_table]?

Спасибо

  • Попытка предоставить разрешения на выбор роли приложения для [sys].[dm_tran_commit_table]
  • Пытался создать другое представление вdboсхема, которая делаетselect * from [sys].[dm_tran_commit_table]и предоставить разрешения на это представление роли приложения.
  • Разрешение предоставлено успешно, но выбор не работает, и строки не возвращаются.

0 ответов

Другие вопросы по тегам