Как выбрать из представления 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]
и предоставить разрешения на это представление роли приложения. - Разрешение предоставлено успешно, но выбор не работает, и строки не возвращаются.