Безопасность на уровне строк в SQL Server 2016

Я использую RLS в SQL Server Developer Edition 2017.

Когда я выполняю следующее, я получаю разные результаты: настроена безопасность на уровне строк и создана и протестирована политика безопасности.

При попытке выполнить от имени пользователя = 'AppUser' GO EXEC sp_set_session_context @key = N'role', @value = 'CORP\GrpGl Atlanta Georgia Dashboard' SELECT * FROM MyCenter GO Это не возвращает строк!

EXEC sp_set_session_context @key = N'role', @value =' CORP\GrpGl Athens Dashboard 'SELECT * FROM MyCenterGO Это возвращает ожидаемую строку.

Оба входа существуют на уровне сервера и на уровне базы данных RLS с одинаковыми разрешениями / ролями и т. Д. По сути, вход в панель управления GrpGl Athens Dashboard был написан для создания входа в панель управления GrpGl Atlanta Georgia, поэтому все разрешения одинаковы.

Афины работают.... Атланта Джорджия нет.

Есть ли проблема с @value = 'CORP\GrpGl Atlanta Georgia Dashboard', содержащим слишком много пробелов / символов?

Я не могу найти в BOL ничего, что бы об этом говорило.

Есть ли ограничение на количество символов / пробелов в @value в sp_set_session_context @key = N'role ', @value =' CORP\GrpGl Atlanta Georgia Dashboard'?

Thnaks

0 ответов

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