创建角色,登录名,用户,视图。提供给第三方指定视图的访问权限。

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

创建角色,登录名,用户,视图。提供给第三方指定视图的访问权限。

```sql ---------------------------------------------创建视图---------------------------------------------- if exists (select * from sysobjects where name = 'OA_MATERIAL') drop view OA_MATERIAL go --创建视图 create view OA_MATERIAL as select * from T_BD_MATERIAL go --使用视图-- select *from OA_MATERIAL -- 查看视图创建语句-- sp_helptext 'OA_MATERIAL' ----------------------------------------------SqlServer 创建用户给用户查看视图的权限----------------------------------------------- --给当前数据库创建角色; exec sp_addrole 'db_oaview' --创建了一个数据库角色,名称为:[db_oaview] db_oaview是角色名称 --给角色名授权访问的视图; GRANT SELECT ON OA_MATERIAL TO db_oaview --给角色取消授权; REVOKE SELECT ON OA_MATERIAL TO db_oaview --给角色禁止权限;可以配合最后的查询查询观察,执行后会新增 PROTECTYPE = DENY的行,可以先赋予全部查询权限,再用deny否定这个权限,否定后可以再用grant重新给予权限。 DENY SELECT, INSERT, UPDATE, DELETE ON dbo.T_BD_MATERIAL TO db_oaview --添加登录名,并指定默认数据中心 exec sp_addlogin 'OA','XXXX','XXXX' --exec sp_addlogin '登录名','登录密码','数据库名称' --设置用户名 = 登录名 添加角色db_oaview到用户 exec sp_adduser 'OA','OA','db_oaview' --exec sp_adduser '登录名','用户名','角色' -- 给用户添加 查询角色db_datareader,默认可以查询系统所有表 EXEC sp_addrolemember 'db_datareader', 'OA' -- 移除用户 角色 EXEC sp_droprolemember 'db_datareader', 'OA' -- c查询用户拥有的所有角色 EXEC sp_helpuser 'OA'; -- 查询所有grant的权限,deny的好像没反应 select c.name as 用户名,b.name as 对象名, CASE b.type WHEN 'U' THEN 'Table' WHEN 'P' THEN 'Procedure' ELSE 'OTHER' END AS 对象类型, CASE WHEN a.ACTION = 26 AND a.PROTECTTYPE = 205 THEN '√' ELSE '' END AS 'REFERENCES', CASE WHEN a.ACTION = 193 AND a.PROTECTTYPE = 205 THEN '√' ELSE '' END AS 'SELECT', CASE WHEN a.ACTION = 195 AND a.PROTECTTYPE = 205 THEN '√' ELSE '' END AS 'INSERT', CASE WHEN a.ACTION = 197 AND a.PROTECTTYPE = 205 THEN '√' ELSE '' END AS 'UPDATE', CASE WHEN a.ACTION = 196 AND a.PROTECTTYPE = 205 THEN '√' ELSE '' END AS 'DELETE', CASE WHEN a.ACTION = 224 AND a.PROTECTTYPE = 205 THEN '√' ELSE '' END AS 'EXECUTE', CASE a.PROTECTTYPE WHEN 204 THEN 'GRANT_W_GRANT' WHEN 205 THEN 'GRANT' WHEN 206 THEN 'DENY' ELSE 'OTHER' END AS PROTECTTYPE from sysprotects a inner join sysobjects b on a.id = b.id inner join sysusers c on a.uid = c.uid

创建角色,登录名,用户,视图。提供给第三方指定视图的访问权限。

```sql---------------------------------------------创建视图----------------------------------------------if exists (select * f...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息