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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置sybase数据库的用户权限相关的知识,希望对你有一定的参考价值。

如何设置sybase数据库的用户权限,例如登录权限,delete操作权限等等。

参考技术A 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表。

在SYBASE中,如何把一个数据库的所有表的select权限赋给某一个用户

在SYBASE中,如何把一个数据库的所有表的select权限一次性赋给某一个用户,grant select on 数据库对象 to username 只能一次赋一个表的select权限

sybase如何查表名不太清楚
oracle中select table_name from tabs是查询表名的语句
然后可以
grant select on (select table_name from tabs) to user

你参考一下吧,帮不了你太多了
参考技术A grant 权限 on 表名 to 用户名
简单明了
参考技术B 用创建视图可以吧.自己百度下.本回答被提问者采纳

以上是关于如何设置sybase数据库的用户权限的主要内容,如果未能解决你的问题,请参考以下文章

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

在SYBASE中,如何把一个数据库的所有表的select权限赋给某一个用户

如何设置mysql的权限为所有的用户权限

如何向 SQL Server 添加用户并设置用户权限

Linux下如何进行SFTP用户权限设置

如何设置MSSQL数据库访问用户及访问权限