+ -
当前位置:首页 → 问答吧 → grant一个角色的用法

grant一个角色的用法

时间:2011-11-27

来源:互联网

create role r1 
grant select,insert on product to r1;
use computer
grant r1 to user3;

computer是我创建的一个数据库(use computer这句话去掉了也还是不对)
user3是我创建的一个用户

运行后显示最后一行的r1附近有语法错误
消息 102,级别 15,状态 1,第 4 行
'r1' 附近有语法错误。

请问这是为什么,该怎么修改

作者: pioneerxf   发布时间: 2011-11-27

试试[r1]

作者: ssp2009   发布时间: 2011-11-27

user3 是什么?你要授予他什么权限?

作者: qianjin036a   发布时间: 2011-11-27

给user3付的权限有哪些啊

作者: m540920181   发布时间: 2011-11-27

SQL code
为具体的用户设置具体的访问权限 收藏 
use 你的库名
go

--新增用户
exec sp_addlogin 'test'            --添加登录
exec sp_grantdbaccess N'test'            --使其成为当前数据库的合法用户
exec sp_addrolemember N'db_owner', N'test'            --授予对自己数据库的所有权限

--这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表
go

--删除测试用户
exec sp_revokedbaccess N'test'            --移除对数据库的访问权限
exec sp_droplogin N'test'            --删除登录


如果在企业管理器中创建的话,就用:

企业管理器--安全性--右键登录--新建登录

常规项
--名称中输入用户名
--身份验证方式根据你的需要选择(如果是使用windows身份验证,则要先在操作系统的用户中新建用户)
--默认设置中,选择你新建的用户要访问的数据库名

服务器角色项
这个里面不要选择任何东西

数据库访问项
勾选你创建的用户需要访问的数据库名
数据库角色中允许,勾选"public","db_ownew"

确定,这样建好的用户与上面语句建立的用户一样
---------------------------------------------------------------------------

最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例:

--添加只允许访问指定表的用户:
exec sp_addlogin '用户名','密码','默认数据库名'

--添加到数据库
exec sp_grantdbaccess '用户名'

--分配整表权限
GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名]

--分配权限到具体的列
GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名]

作者: fredrickhu   发布时间: 2011-11-27

SQL code
--对角色分配权限
grant 权限名 to r1
--为角色添加用户
exec sp_addrolemember 'r1','username'

作者: qianjin036a   发布时间: 2011-11-27

作者: roy_88   发布时间: 2011-11-27

或直接在企业管理器里 修改权限,点产生脚本,可以看到脚本

作者: roy_88   发布时间: 2011-11-27