Синтаксис 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];