数据库复习用户及其权限管理.pdf
用户及其权限管理
俞闯
2012,10,22
一、启sa用户
1.使用SQL语句修改验证模式
EXECxp_instance_regwrite
NHKEY_LOCAL_MACHINE,
NSoftware\\MSSQLServer\MSSQLServer,
NLoginMode,
REG_DWORD,
2--1.仅windows,2.混合验证
2.用SQL语句启用sa用户
a.启用sa用户
execsp_passwordnull,123,sa
alterloginsaenable
b.修改sa用户
alterloginsawithpassword111
(若启用sa用户出现sa属性islocked,执行下面的语句:
alterloginsawithpassword111unlock,check_off,
check_expirationoff)
3.重启数据库服务
二、创建登陆用户及数据库角色[1]
要想成功SQLServer数据库中的数据,我们需要两个方面的:一、获得
准许连接SQLServer服务器的权利;二、获得特定数据库中数据的权利(select,
update,delete,createtable...)。假设,我们准备建立一个dba数据库帐户,用来管理
数据库infor。
1.登陆用户(createlogin):建立好登陆账户,若不为其创建关联的数据库
用户,则不能登陆。
a.创建
createlogindbawithpassword=111,default_databaseinfor
b.修改
alterlogindbadisable--禁用登陆
alterlogindbaenable--启用登陆
c.删除
droplogindba--删除登陆用户
(也可以利用过程创建与删除登陆用户
execsp_addLoginba,11,infor,english
execsp_dropLoginba)
2.为当前数据库创建用户(createuser):创建的用户建立在当前使用数据库中。
a.创建
createuseruser_dbaforlogindba--withdefault_schemadbo
b.修改
alteruseruser_dbawithdefault_schemadbo--更改数据库架构
alteruseruser_dbawithnameuser_dba--修改用户名
c.删除
dropuserdba
(利用过程创建与删除用户
execsp_grantdbAccessba,user_ba
execsp_revokedbAccessuser_ba)
3.通过加入数据库角色(role),赋予数据库用户user_dba权限:
a.赋予所有者权限
execsp_addrolememberdb_owner,dba
b.grant[2]、revoke[3]、deny[4]权限管理
1)grant其命令格式如下:
GRANT{ALL[PRIVILEGES]}|permission[(column[,...n])][,...n]
[ON[class::]securable]TOprincipal[,...n]
[WITHGRANTOPTION][ASprincipal]
权限:select,insert,up