sqlserver 权限实验
发布时间:2020-12-12 13:39:11 所属栏目:MsSql教程 来源:网络整理
导读:USE?tempdb GO ? --创建两个测试表 CREATE ? TABLE ? tb1(id? int ,value? ) INSERT ? tb1? VALUES (1,10) ? tb2(id? ) ? GO --创建登录 CREATE ? LOGIN?Liang? WITH ? PASSWORD = 'myfend@hotmail.com' ; ? --创建用户 CREATE ? USER ? Liang? FROM ? LOGIN
USE?tempdb
GO
?
--创建两个测试表
CREATE ?
TABLE ?
tb1(id?
int
,value?
)
INSERT?
tb1?
VALUES
(1,10)
?
tb2(id?
)
?
GO
--创建登录
CREATE?
LOGIN?Liang?
WITH ?
PASSWORD
=
'myfend@hotmail.com'
;
?
--创建用户
CREATE?
USER ?
Liang?
FROM ?
LOGIN?Liang;?
?
--授予用户对tb1有UPDATE某个列的权限,tb2只有SELECT权限
?
GRANT?
UPDATE
(value)?
ON ?
TO ?
Liang
SELECT?
Liang
tb2?
Liang
?
GO
?
--模拟用户Liang对tb1表进行UPDATE
EXECUTE?
AS ?
USER
'Liang'
?????
UPDATE ?
SET ?
?????????
value=20
WHERE?
id=1
??????
REVERT
?
SELECT?
*?
tb1
?
/*
id??????????value
-----------?-----------
1???????????20
?
(1?行受影响)
?
*/
?
--模拟用户Liang对tb2表进行UPDATE
'Liang'
SET?
value=20
id=1
??????
REVERT
?
/*
消息?229,级别?14,状态?5,第?23?行
拒绝了对对象?
'tb2' ?
(数据库?
'tempdb'
,架构?
'dbo'
)的?
权限。
?
*/
?
GO
--删除测试
DROP?
tb1,tb2
DROP?
Liang
DROP?
LOGIN?Liang
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |