定义SQL Server数据库用户的权限的方法有哪些

定义SQL Server数据库用户的权限的方法有哪些,第1张

1把你的用户自定义数据库放入一个系统提供的数据库。系统提供的数据库有:db_owner,db_accessadmin,db_securityadmin,db_ddladmin,db_backupoperator,db_datareader,db_datawriter,db_denydatareader和db_denydatawriter。

2把你的用户自定义数据库添加到将作为开发环境的db_datareader和db_datawriter中。如果你已经有一个可以添加和/或删除用户自定义数据库对象的开发环境,你就只需要取消这个权限或是把你的用户自定义数据库添加到db_ddladmin系统数据库中。

3把数据库用户作为数据库成员添加到你的用户自定义数据库中。

4取消所有的公共权限。

不要向公共用户发出DENY命令。如果你向公共用户发出了DENY命令,用户将不能读取用户自定义数据库的对象。用REVOKE命令代替DENY命令来取消读取公共数据库的权限。这样设置后,数据库的用户就是用户自定义数据库的成员了。用户自定义数据库具有读取用户自定义数据库对象的权限。因此这个用户自定义数据库允许数据库用户读取用户自定义数据库的对象。

授予用户权限和授予数据库权限的主体不一样。授予用户权限和授予数据库权限的主体不一样。

1、授予用户权限的主体是用户。

2、授予数据库权限的主体是数据库,意思是指给某人授了可以使用数据库的权限。

3、这两者的主体是完全不一样的。

查看当前用户:

select

user()

;

查看用户的权限:

show

grants

for

'username'@'localhost'

查看当前用户的权限:

show

grants

;

修改

root

用户的密码

set

password

for

'root'@'localhost'

=

password('新密码');

或者:

update

user

set

password

=

password('newpass')

where

user

=

'root';

flush

privileges

;

privileges;

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表。

以上就是关于定义SQL Server数据库用户的权限的方法有哪些全部的内容,包括:定义SQL Server数据库用户的权限的方法有哪些、授予用户权限和授予数据库权限有什么不同、db2数据库如何查看一个数据库的用户有哪些和权限等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存