Sql server SQL Server:允许用户创建/修改新视图,但不更改现有视图

Sql server SQL Server:允许用户创建/修改新视图,但不更改现有视图,sql-server,schema,roles,sql-server-2008-r2,Sql Server,Schema,Roles,Sql Server 2008 R2,我们想让用户创建他们自己的自定义视图,但不想让他们修改任何现有的表或视图。关于SQL Server的管理功能,我非常熟悉,但我认为这是一种常见的情况 我认为最好的方法是创建一个包含这些视图的新模式,然后只让用户控制这个模式。这合理吗 问题是我实际上不知道这样做的机制。我创建了架构,并尝试为此架构创建一个角色,但在我的脑海中没有“单击”。我不确定您使用的是哪个版本的SQL Server?但在2008年,开放了SQLServerManagementStudio。创建新过程,并添加以下代码: GRAN

我们想让用户创建他们自己的自定义视图,但不想让他们修改任何现有的表或视图。关于SQL Server的管理功能,我非常熟悉,但我认为这是一种常见的情况

我认为最好的方法是创建一个包含这些视图的新模式,然后只让用户控制这个模式。这合理吗


问题是我实际上不知道这样做的机制。我创建了架构,并尝试为此架构创建一个角色,但在我的脑海中没有“单击”。

我不确定您使用的是哪个版本的SQL Server?但在2008年,开放了SQLServerManagementStudio。创建新过程,并添加以下代码:

GRANT CREATE VIEW ON SCHEMA :: your_schema TO user_role 将SCHEMA::上的CREATE视图授予user\u角色
我想那应该行。。。?我只是偶尔使用SQL Server。您可能还需要给它们ALTER、SELECT等选项。

确切地说,可能并不意味着要标记为sql-server-2002008 R2 Express。。。请让我尝试一下,根据BOL,“需要在数据库中创建视图权限和在创建视图的架构上更改权限。”是创建视图所需的权限。现在正在单击。正如Ben所指出的,我无法让“创建视图”在模式级别上工作,但能够计算出我们有两个级别要工作。。。数据库和模式。我有一个简单的例子在工作,我想我可能真的理解为什么:p谢谢大家