Sql server 将对sql server的访问限制为;我的";意见

Sql server 将对sql server的访问限制为;我的";意见,sql-server,permissions,views,Sql Server,Permissions,Views,我是一名大学教授,在SQL Server 2008中面临着一个棘手的权限问题。我的学生需要使用AdventureWorks完成一个项目,其中包括构建一系列视图。我的问题是,我需要限制访问权限,以便学生只能看到他们创建的视图。我不想让他们看到其他学生的作业。如果这太难了,那么我至少想限制他们打开其他学生的设计视图 非常感谢 马克正如马克在评论中所建议的那样,如果你给每个学生自己的模式,你应该能够很容易地解决这个问题。例如: create schema Student1 authorization

我是一名大学教授,在SQL Server 2008中面临着一个棘手的权限问题。我的学生需要使用AdventureWorks完成一个项目,其中包括构建一系列视图。我的问题是,我需要限制访问权限,以便学生只能看到他们创建的视图。我不想让他们看到其他学生的作业。如果这太难了,那么我至少想限制他们打开其他学生的设计视图

非常感谢


马克

正如马克在评论中所建议的那样,如果你给每个学生自己的模式,你应该能够很容易地解决这个问题。例如:

create schema Student1 authorization dbo;
create user Student1 with default_schema = Student1;
grant control on schema::Student1 to Student1; --full permissions on their own schema

然后,在您的模式上,授予您希望他们拥有的任何权限(选择、查看定义等)。

因为您不能授予或拒绝对尚不存在的对象(AFAIK)的权限—实现这一点的一种方法是为每个学生创建一个模式。