14.3.3 删除登录账户1 E" m9 \) b" x- C. v3 K7 i5 n1 h
1、 使用企业管理器删除登录账户;+ ]3 N4 C# g" J% h
2、 使用系统存储过程删除登录账户:
% T$ W- p- j/ m- C1 j(1)删除SQL Server身份验证的登录账户:1 W7 e& h! X9 s' E% V
sp_droplogin [@loginame=]’login’
% A; S; Y: h( G6 P" W% M1 z% A6 R9 u其中:[@loginame=]’login’:将被删除的登录账户名;
0 J% n9 y9 w( _# R. H4 c" ` W(2)删除Windows身份验证的登录账户
( X" ~ @* `( g3 O3 h* y0 Gsp_revokelogin [@loginame=]’login’
, T! P0 F: k& {: ^+ \其中:[@loginame=]’login’为要删除的Windows NT用户或组的名称,Windows NT组和用户必须用Windows NT域名限定,格式为“域\用户”( O0 H7 Q3 @% U" d a0 i
14.4 管理数据库用户
6 P( V5 i0 C% k# {% {9 U14.4.1 建立数据库用户
( l7 N" D6 S( z/ m& i1、 使用企业管理器建立数据库用户;
. u# P" C v7 V8 N2、 使用系统存储过程建立数据库用户:
$ Q' Z2 K- C* `9 @$ ]sp_adduser[@ loginame=]’login’[,[@name_in_db=]’user’][,[@grpname=]’group’]
- M: n* s$ Y' e2 v8 B$ |/ E. V0 g其中:9 d, I3 M/ M( V. Y+ N/ c
(1)[@ loginame=]’login’:登录账户名,login必须是已有的SQL Server登录账户或Windows NT用户名# |7 z- }2 s, H0 }. d; q
(2)[@name_in_db=]’user’:新数据库用户名,如没有指定,则user与login名相同;2 B. o2 f! d6 |. J1 r# z+ f
(3)[@grpname=]’group’:角色名,新用户自动地成为此角色的成员,group必须是当前数据库已有的角色。
0 v9 {& k( ^7 B1 h5 y6 r3 Y14.4.2 删除数据库用户
" N% K# n) T8 A. L1、使用企业管理器删除数据库用户;2 |- q* o* [. O% K7 ~5 C
2、使用系统存储过程建立数据库用户:
! X1 Z9 v' {4 r6 K# U1 b( j0 C& B5 msp_dropuser[@name_in_db=]’user’9 D3 N$ Z( u8 x1 H2 V8 i1 k
14.5 管理权限2 ~: _0 s$ T4 f0 w. M7 q
14.5.1 SQL Server权限种类7 u( |2 N2 g( s8 a' H: M" \
1、 对象权限:指用户对数据库中的表、视图等对象中数据的操作权限,相当于数据库操作语言(DML)的语句权限;
5 j3 V: y+ C7 q5 ]2、 语句权限:相当于数据定义语言(DDL)的语句权限,专指是否允许执行:CREATE TABLE、CREATE VIEW等与创建数据库对象有关的操作;
1 K; I) P) y9 T# p: P% T: \* y3、 隐含权限:指数据库管理系统预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限& ]7 h O* M9 E1 o" q. }
14.5.2 权限的管理0 h. W6 [7 v8 g/ b# U' ^
权限的管理包括:3 \5 l2 z" @) b5 T! s6 I, j: s8 |
(1) 授予权限:允许用户或角色具有某种操作权;
2 }& z6 T9 T; }9 ~; ~2 C% A3 m(2) 收回权限:不允许用户或角色具有某种操作权,或收回曾经授予的权限;1 N4 f7 _/ H% t8 j3 c. k; R
(3) 拒绝访问:拒绝某用户或角色具有某种操作权限;0 v q0 X" @( k) x
1、 使用企业管理器管理数据库用户权限;5 ]( a; N6 {% h* q& p2 X& `* M
2、 使用企业管理器管理语句权限;
L9 S* n9 o' r% P1 B! x, s3、 使用Transact-SQL语句管理对象权限6 q9 S0 T# ], R* x2 w* r' @# s; X
(1) GRANT语句:用于授权;
* E: }' g ^+ S, }4 X5 _GRANT 对象权限名 [,…]ON{表名|视图名|存储过程名}- w! ~5 d1 {" d: s6 f( N: g
TO{数据库用户名|用户角色名}[,…]' ~ L7 m. Z- |8 c, h; ?0 D+ q
(2) REVOKE语句:用于收回权限;
9 V) X8 f1 S( r" S3 }4 V; P5 d( z& GREVOKE 对象权限名 [,…]ON{表名|视图名|存储过程名}
( ^! J" e/ [5 b4 wTO{数据库用户名|用户角色名}[,…]
+ U7 L/ W* ]' W(3) DENY语句:用于拒绝权限。
; @; w) g: G! ~& cDENY 对象权限名 [,…]ON{表名|视图名|存储过程名}- W5 m, k! P/ [; V5 ^4 R1 K' n+ ~
TO{数据库用户名|用户角色名}[,…]. n1 R7 P3 U3 D7 C
4、使用Transact-SQL语句管理语句权限
- c" ^" ?1 ~# q' i' X6 C& H(1)授权语句:& N" h0 @6 w; I6 U+ S; L. y
GRANT 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]% ?8 h' q& Y' l" W" I6 `& C
(2)收权语句;
1 ]% q- m& A4 ?0 lREVOKE 对象权限名 [,…] FROM {数据库用户名|用户角色名}[,…]+ M3 ?2 S n+ [' z2 A6 E1 s9 Y: L% j( R
(3)拒绝权限。* d4 x& ~( Y3 a
DENY 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]
1 Z5 ` C/ Z1 u# r9 u. Y14.6 角色4 k; r" j* p3 M, o
14.6.1 固定的服务器角色7 x; r3 Y8 {3 C3 {2 s! t) ~0 A
是在服务器级上定义,这些角色具有完成特定服务器级管理活动的权限,用户不能添加、删除或更改固定的服务器角色。用户的登录账户可以添加到固定的服务器角色中,使其成为服务器角色中的成员,从而具有服务器角色的权限。
N4 z" Y3 {& h% W( u: `: z W固定的服务器角色: e' p, h* H! c8 u" B
描述
' W( Q3 {9 y' }$ m7 rSysadmin ?* h, M7 \: t0 j( s. X7 r* Z
可在SQL Server中进行任何活动,该角色的权限包含了所有其它固定的服务器角色权限
% W/ f0 R# U, s' h: C: pServeradmin0 D' Z+ i7 b6 K& A
配置服务器范围的设置
5 S3 {6 v$ m9 h4 X) I& XSetupadmin4 Q- g+ Z3 s! T
添加和删除链接服务器,并执行某些系统存储过程0 r7 T4 I+ H& r! t y5 K8 g' W. F
Securityadmin) X0 y( }" ?; W- `) ~! A0 j1 ^
管理服务器登录账户8 Z7 g5 N1 C4 ^3 m$ @3 W
Processadmin2 v' x; O/ r2 b# d# N
管理在SQL Server实例中运行的进程 w6 m, Y& Z, [" ?) g
Dbcreator3 y% U9 |* h9 J, v6 F
创建、更改和删除数据库
+ z& {" P# D9 ]0 Z7 j* Y4 n' gDiskadmin7 P. P$ z% a% I* M9 H
管理磁盘文件6 { ~" m3 j+ s; r8 b
bulkadmin9 J: [ p3 I d, c4 I: H
执行BULK INSERT语句( B% U* m+ S( d0 n' n
固定的服务器角色的成员是系统的登录账户,系统内置的/ o! q0 d( V7 c4 ^/ O: y+ L
(1) BUILTIN\Administrators组;
4 F- j6 L3 }# e3 j0 h' a(2) Sa- }: E0 D5 d$ C5 k0 B w9 E
(3) 域名\Administrators9 i, n3 ]& Y& d7 v! F
自动是sysadmin角色中的成员。
6 E7 U' P7 E2 \$ |0 s1、 添加固定的服务器角色成员) P& Y) P( S0 c8 l
(1) 用企业管理器实现;1 ?4 J. J3 k; ~
(2) 用系统存储过程实现;
# J8 g! A( @. q& |6 x4 C2 Ysp_addsrvrolemember[@loginame=]’login’[@rolename=]’role’
$ X; X! k0 X6 t9 p1 E6 r其中:
6 B: M8 Y+ w- _4 `. E[@loginame=]’login’:添加到固定服务器角色的登录名称;8 A' v0 f* b" [5 Q2 o7 d
[@rolename=]’role’:要将登录添加到的固定服务器角色的名称。
$ z7 R4 e0 K& \( `. C2、 删除固定的服务器角色成员 |