首先创建一个登陆号:
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表。
2、查询每个登陆账号对应有哪些数据账号select name from <每个数据库名称>..sysusers where suid=suser_id('账号名')
3、查询数据账号属于哪个权限组
sp_helpuser <用户名称>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)