14.3.3 删除登录账户 1、 使用企业管理器删除登录账户;% E4 b7 c4 t8 r" g- [) E
2、 使用系统存储过程删除登录账户:! L3 L1 n; g+ g4 S# k5 Q
(1)删除SQL Server身份验证的登录账户:
4 c. }* R' p" K4 S sp_droplogin [@loginame=]’login’
* c- g4 }, w* { p3 H5 o& c! R; J+ e 其中:[@loginame=]’login’:将被删除的登录账户名;. F' ?5 {$ J3 J c, A. E/ K+ E
(2)删除Windows身份验证的登录账户0 b' ?1 H2 I! s0 j" `% D7 S
sp_revokelogin [@loginame=]’login’: u0 X) T6 ?0 c# m3 z
其中:[@loginame=]’login’为要删除的Windows NT用户或组的名称,Windows NT组和用户必须用Windows NT域名限定,格式为“域\用户”
8 O* k! ~, J+ W' d 14.4 管理数据库用户; _/ f4 _8 _- u1 c
14.4.1 建立数据库用户
# e7 ~' P' G, d4 e 1、 使用企业管理器建立数据库用户;
$ Z; |; \2 S6 e- Z6 ? 2、 使用系统存储过程建立数据库用户:$ m& k3 r8 d' c l+ ]7 f2 o, Z# h
sp_adduser[@ loginame=]’login’[,[@name_in_db=]’user’][,[@grpname=]’group’]+ ~: m3 ?8 N5 }
其中:: P( r' }% p* W, Y7 ], q! ]
(1)[@ loginame=]’login’:登录账户名,login必须是已有的SQL Server登录账户或Windows NT用户名& e, H K5 u( c I! W: i
(2)[@name_in_db=]’user’:新数据库用户名,如没有指定,则user与login名相同;
* J% E5 A# R f( z8 j8 f& {) z2 X5 q (3)[@grpname=]’group’:角色名,新用户自动地成为此角色的成员,group必须是当前数据库已有的角色。0 L# k/ x3 z: ~# D1 v2 J
14.4.2 删除数据库用户
# h& Q4 P2 v' r' Q4 g6 @( e8 D 1、使用企业管理器删除数据库用户;+ U/ T$ A9 ^9 H X$ M
2、使用系统存储过程建立数据库用户:5 t; r8 I, \0 ?+ Q9 N8 @& S
sp_dropuser[@name_in_db=]’user’. t/ O4 Z9 h# p: T! F( h
14.5 管理权限3 l/ U% p( ]6 w) W% y& u
14.5.1 SQL Server权限种类
, V% {% C3 P4 Q, i, | 1、 对象权限:指用户对数据库中的表、视图等对象中数据的操作权限,相当于数据库操作语言(DML)的语句权限;$ [5 B, \# N3 N) Q& ^+ A
2、 语句权限:相当于数据定义语言(DDL)的语句权限,专指是否允许执行:CREATE TABLE、CREATE VIEW等与创建数据库对象有关的操作;
5 n. ^0 W# _7 M2 n/ I& [# p 3、 隐含权限:指数据库管理系统预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限
; o, X9 P T2 q& k* o* N1 C 14.5.2 权限的管理
3 C& N2 C+ P8 G( q: _1 Y- w# u' `0 T 权限的管理包括:6 j! Z7 F+ C7 c+ x$ p
(1) 授予权限:允许用户或角色具有某种操作权;
4 V$ L( _$ l% v/ z& X, O2 A" f (2) 收回权限:不允许用户或角色具有某种操作权,或收回曾经授予的权限;/ [0 J7 m: k/ f( ~+ T1 `" C4 h( o
(3) 拒绝访问:拒绝某用户或角色具有某种操作权限;- E; U% C( r- N$ L+ P! l
1、 使用企业管理器管理数据库用户权限;8 t1 V# n/ H3 y9 r6 c
2、 使用企业管理器管理语句权限;
. Z: t/ T ? G& X ` 3、 使用Transact-SQL语句管理对象权限; T: K: C, }3 r# p9 ^) t
(1) GRANT语句:用于授权;5 R1 o0 i8 F6 Z
GRANT 对象权限名 [,…]ON{表名|视图名|存储过程名}# `* k/ d# L+ t/ F/ K I
TO{数据库用户名|用户角色名}[,…]
- T8 e9 t$ V, D- N: s$ V (2) REVOKE语句:用于收回权限;$ c6 {; U& v: |( E6 }
REVOKE 对象权限名 [,…]ON{表名|视图名|存储过程名}
. {, g# |5 j% Z( L& n! B( p3 D, i# p TO{数据库用户名|用户角色名}[,…]0 y. N$ h; t$ t$ O+ R
(3) DENY语句:用于拒绝权限。
/ e9 v6 h7 v: p- J" V DENY 对象权限名 [,…]ON{表名|视图名|存储过程名}
, D8 V& Y) r9 D TO{数据库用户名|用户角色名}[,…]
( ?7 M6 o h) R5 C7 x0 d 4、使用Transact-SQL语句管理语句权限
' V* T7 F' n$ i. w3 v& X S (1)授权语句:
h+ w/ Z- p5 }3 ]3 v, g GRANT 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]
$ ~. c+ r8 S. Y$ i- ~ (2)收权语句;
9 ?# @ L' |# c' x% m T% M3 Z REVOKE 对象权限名 [,…] FROM {数据库用户名|用户角色名}[,…]
% V* M8 W8 e8 g- x/ s# q5 w& t (3)拒绝权限。3 {' G2 a2 D5 _4 `$ u2 W4 `/ O- R
DENY 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]
l5 @" W: _& g( j0 @% w7 }% h 14.6 角色
* X% `3 s- X$ f/ W0 @( R 14.6.1 固定的服务器角色* p" }# F( [% J- T' w
是在服务器级上定义,这些角色具有完成特定服务器级管理活动的权限,用户不能添加、删除或更改固定的服务器角色。用户的登录账户可以添加到固定的服务器角色中,使其成为服务器角色中的成员,从而具有服务器角色的权限。
, e* l0 M3 r! P' i H8 n固定的服务器角色" H3 m& w; b! o3 h
描述) L0 s% E" f4 K1 f# O/ j4 H% E" N
Sysadmin! n- K# E- F! O) d* z4 B
可在SQL Server中进行任何活动,该角色的权限包含了所有其它固定的服务器角色权限
$ g6 L9 T7 Y( i- s1 X. t) sServeradmin
& S; ^7 |5 w- A; H1 Q1 ^# i配置服务器范围的设置
1 V2 V" F/ H9 j1 FSetupadmin [* u4 t% U1 l
添加和删除链接服务器,并执行某些系统存储过程
c2 [8 g! c# J$ X: r$ m6 P. t0 p8 K" VSecurityadmin, g& ^ E5 i* F+ z+ f8 i4 ?
管理服务器登录账户: `/ n( v9 n$ F( j# F7 {1 }
Processadmin
f; d7 @8 r3 X! o+ ?+ \) ?管理在SQL Server实例中运行的进程9 h2 U& r9 s" T; |
Dbcreator
+ a$ y/ l* A9 @) q$ s% `7 A" ?创建、更改和删除数据库; b6 u8 }8 _. h( a$ u
Diskadmin5 u) m, s% A, g
管理磁盘文件
8 h2 G! H* ~$ W' ibulkadmin# `/ Q' e$ F; L" L# H; X
执行BULK INSERT语句. F. i* Q W& U5 B- I
% y* B$ P; j9 l% e, n 固定的服务器角色的成员是系统的登录账户,系统内置的9 A7 O k" A3 i3 o& c5 |
(1) BUILTIN\Administrators组;
" E2 `0 N! Y! o' |7 ] (2) Sa h" |" E3 E& L" g
(3) 域名\Administrators
8 v1 Q5 q+ F+ V Y% w( A 自动是sysadmin角色中的成员。) ~5 T7 W+ D7 ~- ]& T- }
1、 添加固定的服务器角色成员
- K; m4 r3 @( [) E" r* U+ m( e- e (1) 用企业管理器实现;
. O6 G+ z/ E$ w1 B0 w (2) 用系统存储过程实现;7 T) Z, ^, V- O% Y2 H# \. t# u
sp_addsrvrolemember[@loginame=]’login’[@rolename=]’role’
4 H& \* i: o( m4 U9 j8 t8 h0 z, t% `# v 其中:; @* J5 M% P q% N/ t4 h
[@loginame=]’login’:添加到固定服务器角色的登录名称;- v- i$ h# C* C7 V+ |9 E& m3 ^0 M3 d
[@rolename=]’role’:要将登录添加到的固定服务器角色的名称。
1 C+ p+ c7 S9 F W 2、 删除固定的服务器角色成员 |