Роли приложений позволяют вам усилить уровень безопасности для конкретного приложения. Другими словами, роли приложений позволяют самому приложению получить доступ к средствам ответственности за аутентификацию пользователей, вместо того, чтобы рассчитывать на средства системы базы данных. Например, если клерки в вашей компании имеют право изменять данные о ваших служащих только при использовании существующего приложения (а не операторами Transact-SQL или любыми другими инструментами), вы можете создать роль приложения для этого конкретного приложения.
Роли приложений сильно отличаются от других типов ролей. Во-первых, роли приложений не имеют членов, потому что они используют только приложения, и им не нужно явно предоставлять полномочия пользователям. Во-вторых, вы должны использовать пароль для активации роли приложения.
Когда активируется роль приложения для существующей сессии приложения, эта сессия теряет все полномочия, примененные к текущему соединению, учетным записям пользователей, группам, ролям и всем базам данных текущей сессии. Поскольку эти роли применимы только к тем базам данных, где они существуют, сессия может получить доступ к другой базе данных только через полномочия, предоставленные учетной записи пользователя guest другой базы данных. По этой причине, если в базе данных нет учетной записи пользователя guest, сессия не может получить доступ к этой базе данных.