14.3.3 删除登录账户 1、 使用企业管理器删除登录账户;
. ?9 P& o# I, h, J6 p1 d) B 2、 使用系统存储过程删除登录账户:+ ?# t" h7 ]3 j
(1)删除SQL Server身份验证的登录账户:
- _6 I' v( J1 b, W* @9 j sp_droplogin [@loginame=]’login’6 a! k3 ^- g3 t/ n1 d9 O* e5 N
其中:[@loginame=]’login’:将被删除的登录账户名;
7 l& j/ |3 Y/ r1 c (2)删除Windows身份验证的登录账户. Y% J$ k" [) b% }( F+ F4 w
sp_revokelogin [@loginame=]’login’
6 Q( L2 \" z' u. B) j 其中:[@loginame=]’login’为要删除的Windows NT用户或组的名称,Windows NT组和用户必须用Windows NT域名限定,格式为“域\用户”
- _1 Q2 Z! [, N/ U- U+ E6 [- ]2 q 14.4 管理数据库用户2 P! O- O4 _+ o
14.4.1 建立数据库用户
; W" J% F6 m( @( C+ x- C. Z8 C m 1、 使用企业管理器建立数据库用户;& |. t8 K3 g4 g3 P& u4 f1 [
2、 使用系统存储过程建立数据库用户:$ `3 v/ X; _" i8 d1 Z
sp_adduser[@ loginame=]’login’[,[@name_in_db=]’user’][,[@grpname=]’group’]
3 D8 b& A; R; r+ t& h# n v' @( y9 p 其中:
6 d1 Z% ?$ w, @! a7 l( C (1)[@ loginame=]’login’:登录账户名,login必须是已有的SQL Server登录账户或Windows NT用户名
; Q7 q+ a. }4 s% v1 m! C (2)[@name_in_db=]’user’:新数据库用户名,如没有指定,则user与login名相同;
* ]9 ~# X) V6 i/ M! e8 i8 `+ r (3)[@grpname=]’group’:角色名,新用户自动地成为此角色的成员,group必须是当前数据库已有的角色。
2 e; ]# q* Y/ W" ] 14.4.2 删除数据库用户; T/ z' ]% l& S
1、使用企业管理器删除数据库用户;
; k" \/ g. U$ ^1 @; B* C1 H 2、使用系统存储过程建立数据库用户:
5 N3 p# i' \! J9 p* j- {5 K1 } sp_dropuser[@name_in_db=]’user’( }# L8 H( `1 B; W# @' X4 ` K
14.5 管理权限
8 u. y$ Z4 e- w$ T: R* H6 h 14.5.1 SQL Server权限种类" T4 O* a9 ^( _/ P: A6 I# b
1、 对象权限:指用户对数据库中的表、视图等对象中数据的操作权限,相当于数据库操作语言(DML)的语句权限;
# B; ^* T) U0 y( G: e6 d0 t6 _! o# \ 2、 语句权限:相当于数据定义语言(DDL)的语句权限,专指是否允许执行:CREATE TABLE、CREATE VIEW等与创建数据库对象有关的操作;6 ]1 O, Q; `3 K0 s9 V0 b, ~+ {6 S
3、 隐含权限:指数据库管理系统预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限
" V# s) ?! Z( S; V 14.5.2 权限的管理
! H* I; F2 R: R( N+ k* d 权限的管理包括:, ^0 L! ]8 @. c% M4 G
(1) 授予权限:允许用户或角色具有某种操作权;* W5 _' Y8 s- q0 w# t* }6 Y0 A9 E4 [
(2) 收回权限:不允许用户或角色具有某种操作权,或收回曾经授予的权限; w5 p( o9 y% p1 E7 u$ I
(3) 拒绝访问:拒绝某用户或角色具有某种操作权限;& a& b& N* d& H
1、 使用企业管理器管理数据库用户权限;1 I, F$ _2 n- a& q" c! H7 p% V5 g+ R
2、 使用企业管理器管理语句权限;
# X8 @. h! B0 E 3、 使用Transact-SQL语句管理对象权限
, V) O* p1 x) N (1) GRANT语句:用于授权;5 r5 Y6 Z) F0 u& U3 S
GRANT 对象权限名 [,…]ON{表名|视图名|存储过程名}) m6 E9 k! W' t, N9 {, [
TO{数据库用户名|用户角色名}[,…]% Z1 ?6 k6 R0 }" u9 |. E
(2) REVOKE语句:用于收回权限;# x; K0 l1 r% C ?! }4 L+ c
REVOKE 对象权限名 [,…]ON{表名|视图名|存储过程名}2 q0 s7 X' w$ z% k( p/ A
TO{数据库用户名|用户角色名}[,…]% B! K5 S5 A! A' g0 x( _
(3) DENY语句:用于拒绝权限。
# x; k9 L+ _4 M' u! U j DENY 对象权限名 [,…]ON{表名|视图名|存储过程名}9 ~1 L; x+ K5 S' e% Y+ ]; L$ [
TO{数据库用户名|用户角色名}[,…]
8 I) g& A1 s: s7 {: L3 l7 m; f 4、使用Transact-SQL语句管理语句权限' \/ X- d0 R7 `' r1 O
(1)授权语句:! J% y. c( m3 |: |% c, t
GRANT 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]7 z( O( n1 A9 a& j( [) s I
(2)收权语句;
7 _# w" m; ?8 `* P5 [; Q7 Q REVOKE 对象权限名 [,…] FROM {数据库用户名|用户角色名}[,…]
x Z; O+ M! D: I; f( p; _) j, f (3)拒绝权限。; |) B1 I0 U8 U, m5 z- E
DENY 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]
4 N v. J2 B' a$ W# X4 f 14.6 角色
; K* J5 a" ]& V& `& @4 u 14.6.1 固定的服务器角色/ S6 F: `1 |" o, T D
是在服务器级上定义,这些角色具有完成特定服务器级管理活动的权限,用户不能添加、删除或更改固定的服务器角色。用户的登录账户可以添加到固定的服务器角色中,使其成为服务器角色中的成员,从而具有服务器角色的权限。
! x/ x$ g9 _$ D固定的服务器角色
6 g' y- a& a' v( ^! n8 Z描述
2 v& V: p; o, m- xSysadmin- d6 P; a+ N) v- L
可在SQL Server中进行任何活动,该角色的权限包含了所有其它固定的服务器角色权限) [1 _ G W; X* z' R
Serveradmin
: k' R$ m& n9 b4 I" y. l配置服务器范围的设置$ V# C. S( V" \( \
Setupadmin
5 C! f% F( k2 y' G* k添加和删除链接服务器,并执行某些系统存储过程, W8 n3 @" N% r. ^7 R
Securityadmin
' U* k, l7 V+ [ z管理服务器登录账户
3 h/ Z8 Y/ z6 n" F& X* B" @2 x' xProcessadmin
9 O. O' c; H4 w- D* t9 e$ v管理在SQL Server实例中运行的进程
/ @1 [* F* o, I$ f+ p8 |$ Y a# XDbcreator: W. l/ d" O1 [/ K# e3 _. Z( @
创建、更改和删除数据库
: C) F$ L- U+ w+ X4 {5 h. bDiskadmin& y) r |( x5 W' ]3 I
管理磁盘文件
& D- _( Y. w+ A8 cbulkadmin4 o% D! i/ ~# E) [: I) T9 `
执行BULK INSERT语句9 t# w# H4 O, W7 C" `7 k8 M
. o% Z3 Z; ^5 z- A
固定的服务器角色的成员是系统的登录账户,系统内置的
5 ^4 a" R4 D* P& ~: w1 a# b (1) BUILTIN\Administrators组;
8 h; G! I. y$ M7 e, a1 o: N. b8 Y (2) Sa
8 R5 B6 c& x$ F/ Z5 _6 t2 M (3) 域名\Administrators
3 j& h' o2 R' y6 ]. m$ x: i 自动是sysadmin角色中的成员。
" W- {/ I, W/ F/ Y. g( A8 V 1、 添加固定的服务器角色成员
, e+ g* f" z# @1 {. ] Q (1) 用企业管理器实现;
, a. E# l9 d: T. S* }& M (2) 用系统存储过程实现;
) w) ~, _3 y* \: U5 O$ x. O. @! G sp_addsrvrolemember[@loginame=]’login’[@rolename=]’role’) r# P, Y; w8 ]/ c2 a( N
其中:$ b8 R) k! ]. s5 Z( u
[@loginame=]’login’:添加到固定服务器角色的登录名称;
4 C% j7 X% { v& q) h. z [@rolename=]’role’:要将登录添加到的固定服务器角色的名称。
2 @ x3 a! U1 s) d1 j. O6 {8 @ 2、 删除固定的服务器角色成员 |