加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 使用SQL Server(2008),您可以在模式中授予create

发布时间:2020-12-12 16:55:51 所属栏目:MsSql教程 来源:网络整理
导读:在SQL Server 2008中使用安全性,我正在尝试授予用户CREATE TABLE权限,但仅限于特定架构内. CREATE TABLE权限是否仅适用于数据库级别? 我可以限制用户仅在架构中创建表吗? 我试过了: USE [databasename]GRANT CONTROL ON Schema :: [schemaname] TO [userna
在SQL Server 2008中使用安全性,我正在尝试授予用户CREATE TABLE权限,但仅限于特定架构内. CREATE TABLE权限是否仅适用于数据库级别?

我可以限制用户仅在架构中创建表吗?

我试过了:

USE [databasename]
GRANT CONTROL ON Schema :: [schemaname] TO [username]
GO

USE [databasename]
GRANT ALTER ON Schema :: [schemaname] TO [username]
GO

但是,用户仍然无法在目标模式中创建表.直到我运行它,用户才能创建一个表:

USE [databasename]
GRANT CREATE TABLE to [username]
GO

GRANT

GRANT Database Permissions

解决方法

根据SQL Server 2008的帮助:

Requires CREATE TABLE permission in the database and ALTER permission on the schema in which the table is being created.

我刚刚在测试数据库中使用EXECUTE AS对此进行了测试,并且我能够在具有ALTER权限的模式中创建一个表,但是在dbo模式中没有(我没有授予ALTER权限).因此,只要你没有对模式的ALTER权限过于自由,这应该是这样做的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读