用SQL语句怎么创建用户名,和分配权限?

y406719497 2011-02-19 09:26:10
我要用SQL语句创建一个用户名,对数据库data中表A有增 删 查 改的权限,而对数据库data中表B只有查询权限?
...全文
495 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gao__910 2011-02-20
  • 打赏
  • 举报
回复
不用写代码也行,貌似用手动修改表用户权限也行。
y406719497 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 acherat 的回复:]
[code=S]
USE pubs

--创建角色 r_test
EXEC sp_addrole 'r_test'

--授予 r_test 对 jobs 表的所有权限
GRANT ALL ON jobs TO r_test
--授予角色 r_test 对 titles 表的 SELECT 权限
GRANT SELECT ON titles TO r_test

--添加登……
[/Quote]

创建的用户不要设置服务器角色吗
叶子 2011-02-19
  • 打赏
  • 举报
回复
用一些数据库的客户端工具是可以创建用户(create user)并分配权限(grant)的 ,
但是通过sql命令语句创建用户和分配权限更加简单。
创建语句如下:
create user aaa identified by bbb; (创建一个用户名为aaa,密码为bbb的用户)
grant dba to aaa ; (将dba的权限分配给用户aaa)
AcHerat 元老 2011-02-19
  • 打赏
  • 举报
回复
[code=SQ]
USE pubs

--创建角色 r_test
EXEC sp_addrole 'r_test'

--授予 r_test 对 jobs 表的所有权限
GRANT ALL ON jobs TO r_test
--授予角色 r_test 对 titles 表的 SELECT 权限
GRANT SELECT ON titles TO r_test

--添加登录 l_test,设置密码为pwd,默认数据库为pubs
EXEC sp_addlogin 'l_test','pwd','pubs'

--为登录 l_test 在数据库 pubs 中添加安全账户 u_test
EXEC sp_grantdbaccess 'l_test','u_test'

--添加 u_test 为角色 r_test 的成员
EXEC sp_addrolemember 'r_test','u_test'

--拒绝安全账户 u_test 对 titles 表的 SELECT 权限
DENY SELECT ON titles TO u_test

/*--完成上述步骤后,用 l_test 登录,可以对jobs表进行所有操作,但无法对titles表查询,虽然角色 r_test 有titles表的select权限,但已经在安全账户中明确拒绝了对titles的select权限,所以l_test无titles表的select权限--*/

--从数据库 pubs 中删除安全账户
EXEC sp_revokedbaccess 'u_test'

--删除登录 l_test
EXEC sp_droplogin 'l_test'

--删除角色 r_test
EXEC sp_droprole 'r_test'
[/code]

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧