如何设置sybase数据库的用户权限

如何设置sybase数据库的用户权限,第1张

sybase数据库用户,包含两个层面:一个是登陆号,另一个是具体DB的用户,我们登陆时,使用的是登录号,但是这个登录号可以 *** 作哪些DB及 *** 作权限则取决于数据库用户。一般情况下,我们可以采取相同的名字来表示登录号和数据库用户。

首先创建一个登陆号:

sp_addlogin

loginame,

passwd

loginame

登录名

passwd

密码

全部语法(一般不用到)为:

sp_addlogin

loginame,

passwd

[,

defdb]

[,

deflanguage

]

[,

fullname

]

[,

passwdexp

]

[,

minpwdlen

]

[,

maxfailedlogins

]

然后创建用户:

sp_adduser

loginame

这样创建当前数据库的用户,且用户名和登陆名是一样的。

全部语法为:

[dbname..]sp_adduser

loginame

[,

username[,

grpname]]

最后分配权限:

grant

all

|

select,insert,delete,update

on

table_name

|

view_name

|

stored_procedure_name

to

username

grant

all

|

create

database,create

default,create

procedure,create

rule,create

table,create

view,set

proxy,set

session

authorization

to

username

例,假如当前DB为:DB001:

sp_addlogin

'test001','password001'

go

sp_adduser

'test001',

'user001'

go

grant

create

table

to

user001

go

创建了一个test001的登录名,之后为之创建一个当前数据库的用户,使这个登录名可以 *** 作当前数据库。之后分配了创建表的权限给user001。

这个时候你就可以使用用户名'test001'和密码'password001'登陆了,并且可以在DB001中创建表了。同时由于sp_adduser

的时候没有指定grpname参数,那么默认是public用户组,这个组里的用户默认即开通了select/delete/update/insert的权限。

如果你希望去掉一些权限,请使用revoke命令,其语法了grant完全相同,你只需要将grant换成revoke即可,例:

revoke

select

on

address

to

user001

禁止user001查看address表。

ASE 15.7 新增了命令可以将数据库对象的所有权从一个所有者移交给另一个所有者。

比如将表customer的所有权从dbo移交给bill,使用命令: alter table dbo.customer modify owner bill

不仅仅限于表,还有其它数据库对象包括:视图、存储过程、用户定义函数、默认值、规则、自定义数据类型、加密密钥等;

一次性可以授予多个数据库对象:

1、将 bill 拥有的所有表的所有权都移交给 eric:

alter table bill.* modify owner eric preserve permissions

2、将 bill 拥有的所有对象的所有权都移交给 eric:

alter all bill.* modify owner eric preserve permissions

preserve permissions:针对这些对象的所有显式授予或撤消的权限都将被保留,并且权限的 grantor 将更改为新的所有者。-------------------------------------------------------------------------------------------------------------------------------------------------------

以下提供的方法适用于低于ASE 15.7的版本!

参考:http://www.dbainfo.net/one-undocument-dbcc-command-handover-table-ownership.htm


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9934800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存