Синтаксис GRANT для домена\пользователя
Я пытаюсь предоставить доступ к пользователю активного каталога только для одной конкретной таблицы. Я хочу, чтобы они могли вставлять, обновлять, удалять и т.д., Но только для этой таблицы. Я знаю эту команду:
GRANT Insert, Select on Tablename to user
Но я не могу понять, как заставить "domain\user" работать синтаксически. Я пробовал:
GRANT Insert, Select on Tablename to domain\user
Но я получаю:
Msg 102, уровень 15, состояние 1
Неверный синтаксис рядом с '\'.
Ответы
Ответ 1
Предполагая, что вы создали пользователя в этой базе данных, связанной с логином входа в систему, например
CREATE LOGIN [domain\user] FROM WINDOWS;
GO
USE your_database;
GO
CREATE USER [domain\user] FROM LOGIN [domain\user];
GO
Тогда вам просто нужно следовать одному и тому же синтаксису. Поскольку \
не является стандартным символом для идентификатора, вам нужно избежать имени с помощью [square brackets]
:
GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.Tablename TO [domain\user];