SQL Server:对象权限-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

SQL Server:对象权限

2020-01-03 22:51:40 234 1

我们能否撤消对SQL Server数据库上所有对象的所有特权,并仅授予对特定架构的几个表的访问权限

取消 提交回答
全部回答(1)
  • Puppet
    2020-01-03 22:52:27

    默认情况下,用户除具有权限外没有其他权限public ROLE。因此,如果您没有授予他们任何权限,则只需要给他们正确的权限即可。

    如果您的意思是已经创建并赋予了USER很多个人权限,则可能会更快一些DROP,USER并使用正确的权限重新创建它:

    
    USE Sandbox;
    GO
    
    CREATE USER TestUser WITHOUT LOGIN WITH SID = 0x0105000000000009030000003A1272CDF6378A479D2C1EC4E229CB56;
    GO
    
    CREATE TABLE dbo.TestTable1 (ID int);
    
    CREATE TABLE dbo.TestTable2 (ID int);
    GO
    
    GRANT INSERT, SELECT, UPDATE, DELETE ON dbo.TestTable1 TO TestUser;
    GRANT INSERT, SELECT, UPDATE, DELETE ON dbo.TestTable2 TO TestUser;
    GO
    
    EXECUTE AS USER = N'TestUser';
    GO
    
    INSERT INTO dbo.TestTable1 (ID)
    VALUES(1);
    
    INSERT INTO dbo.TestTable2 (ID)
    VALUES(11);
    GO
    
    SELECT *
    FROM dbo.TestTable1;
    SELECT *
    FROM dbo.TestTable2;
    GO
    
    REVERT
    GO
    
    DROP USER TestUser;
    GO
    CREATE USER TestUser WITHOUT LOGIN WITH SID = 0x0105000000000009030000003A1272CDF6378A479D2C1EC4E229CB56;
    
    GRANT INSERT, SELECT, UPDATE, DELETE ON dbo.TestTable2 TO TestUser;
    GO
    
    EXECUTE AS USER = N'TestUser';
    GO
    --Fails
    INSERT INTO dbo.TestTable1 (ID)
    VALUES(2);
    GO
    --Succeeds
    INSERT INTO dbo.TestTable2 (ID)
    VALUES(12);
    GO
    --Fails
    SELECT *
    FROM dbo.TestTable1;
    GO
    --Succeeds
    SELECT *
    FROM dbo.TestTable2;
    GO
    
    REVERT
    GO
    
    GO
    
    --Clean up
    DROP USER TestUser;
    DROP TABLE dbo.TestTable1;
    DROP TABLE dbo.TestTable2; 
    

    如果这是您经常执行的操作,听起来您应该拥有角色,并且应该从特定角色中添加/删除用户。

    0 0
相关问答

5

回答

Spark 【问答合集】

社区小助手 2019-05-29 14:13:40 130177浏览量 回答数 5

20

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1274873浏览量 回答数 20

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 160022浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 341383浏览量 回答数 8

38

回答

[@饭娱咖啡][¥20]对于慢sql有没有什么比较实用的诊断和处理方法?

江小白太白 2018-10-30 18:47:38 144415浏览量 回答数 38

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 148980浏览量 回答数 22

3

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 133594浏览量 回答数 3

8

回答

flink sql 支持checkpoints吗?

游客izljdlkgbdwfc 2019-07-10 17:46:37 126329浏览量 回答数 8

39

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 263655浏览量 回答数 39

21

回答

请教一下数据量有100万条左右要什么配置?

易网网络 2013-03-27 15:18:02 193714浏览量 回答数 21
+关注
0
文章
2173
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载