sqlserver 权限实验

USE tempdb
GO
 
--创建两个测试表
CREATE  TABLE  tb1(id  int ,value  int )
INSERT  tb1  VALUES (1,10)
 
CREATE  TABLE  tb2(id  int ,value  int )
INSERT  tb1  VALUES (1,10)
 
GO
--创建登录
CREATE  LOGIN Liang  WITH  PASSWORD = 'myfend@hotmail.com' ;
 
--创建用户
CREATE  USER  Liang  FROM  LOGIN Liang; 
 
--授予用户对tb1有UPDATE某个列的权限,tb2只有SELECT权限
 
GRANT  UPDATE (value)  ON  tb1  TO  Liang
GRANT  SELECT  ON  tb1  TO  Liang
GRANT  SELECT  ON  tb2  TO  Liang
 
GO
 
--模拟用户Liang对tb1表进行UPDATE
EXECUTE  AS  USER = 'Liang'
      UPDATE  tb1  SET 
          value=20
      WHERE  id=1
      
REVERT
 
SELECT  FROM  tb1
 
/*
id          value
----------- -----------
1           20
 
(1 行受影响)
 
*/
 
--模拟用户Liang对tb2表进行UPDATE
EXECUTE  AS  USER = 'Liang'
      UPDATE  tb2  SET 
          value=20
      WHERE  id=1
      
REVERT
 
/*
消息 229,级别 14,状态 5,第 23 行
拒绝了对对象  'tb2'  (数据库  'tempdb' ,架构  'dbo' )的  UPDATE  权限。
 
*/
 
GO
--删除测试
DROP  TABLE  tb1,tb2
DROP  USER  Liang
DROP  LOGIN Liang
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值