Я использую RLS на SQL Server Developer Edition 2017.
Когда я выполняю следующие действия, я получаю разные результаты: настроена защита на уровне строк и установлена и протестирована политика c.
При попытке выполнить от имени пользователя = 'AppUser' GO EXE C sp_set_session_context @key = N'role ', @value =' CORP \ GrpGl Atlanta Georgia Dashboard 'SELECT * FROM MyCenter GO Это возвращает нет строк!
EXE C sp_set_session_context @key = N'role ', @value =' CORP \ GrpGl Athens Dashboard 'SELECT * FROM MyCenter GO Это возвращает ожидаемое Строка.
Оба входа в систему существуют на сервере и уровне данных RLS с одинаковыми разрешениями / ролями и т. Д. c. По сути, логин GrpGl Athens Dashboard был создан для создания логина GrpGl Atlanta Georgia Dashboard, поэтому все разрешения одинаковы.
Афины работают .... Атланта Джорджия не работает.
Есть ли проблема с @value = 'CORP \ GrpGl Atlanta Georgia Dashboard', имеющей слишком много пробелов / символов?
Я не могу найти в BOL ничего такого, что говорит об этом.
Есть ли ограничение на количество символов / пробелов @value в sp_set_session_context @key = N'role ', @value = 'CORP \ GrpGl Atlanta Georgia Dashboard'?
Thnaks