У меня есть программа, которая проверяет, есть ли у пользователя разрешения на чтение со связанного сервера на сервере. Для этого я проверяю, является ли пользователь участником роли public:
SELECT IS_SRVROLEMEMBER ('public', @login_name)
Запрашиваемые логины проверяют «public» на своих ролях сервера. Однако запрос возвращает только 1, если логин также является членом роли sysadmin. Если для входа в систему установлена только опция public, возвращается 0.
Это правильное поведение? Это правильный способ проверить права на чтение для сервера?