免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3111 | 回复: 2
打印 上一主题 下一主题

通过角色授予权限的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-11 16:09 |只看该作者 |倒序浏览
各位老大:

   为什么通过将create table权限赋予role, 而又将role给login user的模式不能创建表?
  但是直接将create table权限赋予database user的模式可以创建表。

1. 初始化设备
use master
go
disk init name = "kplus_dev", physname = "C:sybasedatakplus_data01", size = "10M"
go
disk init name = "kplus_logdev", physname = "C:sybasedatakpluslog01", size = "2M"
go

2. 创建数据库
create database kplus_db on kplus_dev log on kplus_logdev
go

3. 创建login user
-- sp_addlogin loginame, passwd [, default_db] [, deflanguage] ….
sp_addlogin kplus, kplus1, kplus_db
go

4. 创建group
use kplus_db
go
sp_addgroup kplus_group
go

5. 创建role,并分配给login user
use master
go
create role kplus_role
go
grant create table to kplus_role
go
grant role kplus_role to kplus
go
sp_modifylogin kplus, "add default role", kplus_role
go

6. 增加database user
use kplus_db
go
-- sp_adduser loginame [, name_in_db [, group_name]]
sp_adduser kplus, kplus_db, kplus_group
go

7. 用新创建的kplus用户在kplus_db数据库中创建表
create table test(age int)

但是给出错误信息:
CREATE TABLE permission denied, database kplus_db, owner dbo

如果直接将create table 权限给kplus_db用户,则可以创建表。


谢谢!

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
2 [报告]
发表于 2008-08-11 17:22 |只看该作者
sp_displaylogin kplus看一下kplus_role是否是on,
或者用 set role kplus_role on 之后试试?

论坛徽章:
0
3 [报告]
发表于 2008-08-11 18:14 |只看该作者
知道原因了:
问题出在第5步:
5. 创建role,并分配给login user
use master
go
create role kplus_role
go
grant create table to kplus_role
go
grant role kplus_role to kplus
go
sp_modifylogin kplus, "add default role", kplus_role
go


改为:
5. 创建role,并分配给login user
use master
go
create role kplus_role
go
use kplus_db
go
grant create table to kplus_role
go
grant role kplus_role to kplus
go
sp_modifylogin kplus, "add default role", kplus_role
go
就可以了。
以后授权时要注意在哪个数据库。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP