创建用户以仅在SQL Server 2012中查看一个视图

时间:2015-02-12 08:09:59

标签: sql-server view permissions

我希望用户有权只能看到一个视图。

我创建的用户无法看到任何其他表或视图,但可以选择任何内容

问题

为什么我可以锁定用户进行任何选择插入/更新?

1 个答案:

答案 0 :(得分:2)

LOGIN和USER应该只有一个角色:public。

接下来,为该用户授予选择权限:

GRANT SELECT ON **schema.VIEW_NAME** TO [**USER_NAME**]

完整脚本:

CREATE LOGIN [TEST] WITH PASSWORD=N'PASS', DEFAULT_DATABASE=[DATABASE_NAME]
GO
USE [test]
GO
CREATE USER [TEST] FOR LOGIN [TEST]
GO

GRANT SELECT ON schema.VIEW_NAME TO [TEST]
GO

使用登录TEST登录数据库并检查是否可以选择。