在 SQL Server 2005 中授予对 2 个表的只读访问权限的最佳方法?

2021-09-17 00:00:00 sql-server view

授予少数用户访问 SQL Server 2005 数据库中几个表的权限的最佳方法是什么?

whats the best way to grant access to a few users to a couple tables in a SQL Server 2005 database?

我知道文献推动了视图的使用,但与授予对实际表的只读访问权限相比有什么好处?

I know the literature pushes the use of views but what is the gain over granting read only access to the actual table?

至少对于表,开销会更少,因为索引和其他限制已经到位并在表中进行管理(单点维护).如果我创建视图,那么我是否不需要维护它们并为它们创建索引......而且这将是 SQL 本身的额外开销?

at least with the table there will be less overhead in that the index and other restraints are already in place and managed at the table (a single point of maintenance). If I make views then won't i need to maintain them and create indexes on them... as well as this will be additional overhead for SQL itself?

推荐答案

CREATE ROLE role_name
GRANT SELECT ON table_name TO role_name

不要忘记将用户添加到该角色.添加个人权限通常是一种不好的做法.

Don't forget to add users to that role. Adding individual permissions is generally a bad practice.

如果您想以不同方式隐藏特定列/名称列/以其他方式过滤数据,则使用视图并授予视图权限非常有用.

Using views and giving permissions to the view is useful if you want to hide particular columns / name columns in different ways / otherwise filter the data.

相关文章