域\用户的GRANT语法

bva*_*pen 27 sql-server active-directory grant sql-server-2008

我试图只允许一个特定的表访问活动目录用户.我希望他们能够插入,更新,删除等,但仅限于该表.我知道这个命令:

GRANT Insert, Select on Tablename to user
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何让"域\用户"以语法方式工作.我试过了:

GRANT Insert, Select on Tablename to domain\user
Run Code Online (Sandbox Code Playgroud)

但我得到:

消息102,级别15,状态1
'\'附近的语法不正确.

Aar*_*and 36

假设您已在此数据库中创建了与AD登录关联的用户,例如

CREATE LOGIN [domain\user] FROM WINDOWS;
GO
USE your_database;
GO
CREATE USER [domain\user] FROM LOGIN [domain\user];
GO
Run Code Online (Sandbox Code Playgroud)

那你只需要遵循相同的语法.因为\不是标识符的标准字符,所以需要使用以下命令转义名称[square brackets]:

GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.Tablename TO [domain\user];
Run Code Online (Sandbox Code Playgroud)