浅析SQL Server授予了CREATE TABLE权限但是无法创建表
作者:潇湘隐者 发布时间:2024-01-28 18:26:23
标签:SQL,Server,建表,CREATE,TABLE,权限
在SQL Server中,如果我想授予一个用户klb拥有创建表的权限,但是我又不想授予其数据库角色db_ddladmin,因为这样会扩大其权限,那么授予下面权限可行吗?如下所示:
USE AdventureWorks2014;
GO
GRANT CREATE TABLE TO klb;
那么这样授权是否就OK呢?答案是这样授权会报错“The specified schema name "dbo" either does not exist or you do not have permission to use it.”
需要授予下面权限,登录名klb才能真正的创建表。
USE AdventureWorks2014;
GO
GRANT ALTER ON SCHEMA::dbo TO klb
但是这样又会扩大登录名klb的权限(绕了一圈,又重回老路)。其实,SQL Server中如果新建一个用户模式(user-schema)的话,那么就可以解决这个问题。
CREATE SCHEMA test AUTHORIZATION klb
如果已经存在对应的用户模式
USE AdventureWorks2014;
GO
GRANT ALTER ON SCHEMA::test TO klb
按上面这样授权后,那么对比下面脚本,你就会发现klb可以在test这个模式下创建表,但是不能在dbo这个模式下创建表。其实这个也是SQL Server 用户模式分离设计的原因。
CREATE TABLE dbo.TEST (id INT); --报错
GO
CREATE TABLE test.TEST (id INT);--正常
GO
来源:https://www.cnblogs.com/kerrycode/archive/2020/12/08/14100836.html


猜你喜欢
- 前言大家应该都有所了解,下面就简单介绍下Numpy,NumPy(Numerical Python)是一个用于科学计算第三方的Python包。
- 前言最近在使用Python的时候遇到浮点数运算,发现经常会碰到如下情况:出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些
- 共同点两者都接收两个参数,第一个参数是行的范围,第二个参数是列的范围不同点loc函数接收的是行/列的名称,iloc函数接收的是行/列的下标(
- 目录一、pyecharts绘制词云图WordCloud.add()方法简介二、绘制词云图对应轮廓按diamond显示三、对应完整代码如下所示
- 1.安装MySql目前MySQL有两种形式的文件,一个是msi格式,一个是zip格式的。msi格式的直接点击setup.exe就好,按照步骤
- 前言本博客重点:folium的使用功能,图层控制、指北针、folium添加js和css、经纬网格线(栅格线)在上一篇使用folium制作地图
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 10 - Using FX.TweenMooToo
- 一、模拟登录图书馆管理系统我们可以先看一下登录页面(很多学校这些管理系统页面就是很low):两种方式去模拟登录图书馆:1. 构造登录表单进行
- 今天想直观的展示一下数据就用到了matplotlib模块,之前都是一张图只有一条曲线,现在想同一个图片上绘制多条曲线来对比,实现很简单,具体
- 非常简单的函数,但是官网的介绍令人(令我)迷惑,所以稍加解释。 mask_select会将满足mask(掩码、遮罩等等,随便翻译)的指示,将
- 这样做的好处是:利用表格来装载数据,不言而喻是最好的,你可以很灵活的为每个单元格定义样式。下面是具体的做法首先在photoshop设计一个效
- 前言CORS 即 Cross Origin Resource Sharing 跨域资源共享.跨域请求分两种:简单请求、复杂请求.简单请求简单
- 本文实例讲述了Django发送html邮件的方法。分享给大家供大家参考。具体如下:在Django中,发送邮件非常的方便,一直没有时间,今天来
- mmdetection简介 目标检测工具箱mmdetection是香
- 打开SQL Server企业管理器,突然弹出一个窗口,内容是: 错误提示: “Microsoft Management Console ——
- 在制作网页以及编程的时候,适当的进行注释,不仅使自己的思路清晰,极大地减轻了维护的难度,而且方便项目组其他人了解你的代码,方便对代码的理解以
- WebDriver有2个方法执行Java Script脚本。(1)同步执行:execute_script(2)异步执行:execute_as
- 前言如果想分布式执行用例,用例设计必须遵循以下原则:1、用例之间都是独立的,2、用例a不要去依赖用例b3、用例执行没先后顺序,4、随机都能执
- 如果在session级保存一个dictionary对象会降低系统的性能,而在application级保存一个dictionary对象会导致w
- 版本:平台:ubuntu 14 / I5 / 4G内存python版本:python2.7opencv版本:2.13.4依赖:如果系统没有p