Вы не можете использовать новые вещи, такие как динамическое маскирование данных или защита на уровне строк , чтобы ограничить доступ к определенным полям или строкам, поэтому вы можете перейти к старому способу.
Создавайте представления и выставляйте только те поля, которые вам нужно показать.Предоставьте доступ только к этим представлениям.
Не расстраивайтесь из-за динамического маскирования данных.Это не функция безопасности, и существуют различные способы раскрытия информации.
Попробуйте что-то вроде этого:
CREATE VIEW [dbo].[vw_SenstiveData]
AS
SELECT [UserID]
,'XXXXXXXX' AS [UserName]
,LEFT([SocialID], 4) + '-XXX-XXX-XXXXXXX-' + RIGHT([SocialID], 3) AS [SocialID]
FROM [dbo].[Users]