Не думайте, что в SQL-сервере есть что-то подобное.
Вы можете создать отношение 1: 1 к новой таблице, содержащей скрытые столбцы:
insert into NewTable
select (keycol, Nickname) from ExistingTable
alter table ExistingTable drop column Nickname
Таким образом, у вас все еще есть данные, но столбец находится в таблице, о которой никто не знает.
В качестве альтернативы вы можете использовать разрешения на уровне столбца:
DENY SELECT (Nickname) ON ExistingTable TO domain\user
DENY SELECT (Nickname) ON ExistingTable TO public
...
Это вернет ошибку, когда кто-то попытается прочитать столбец. Большим недостатком этого метода является то, что select *
также потерпит неудачу.