SQL Server中不同用戶的權(quán)限
在SQL Server數(shù)據(jù)庫中,用戶分為不同的種類,不同種類的用戶所擁有的操作權(quán)限也是不一樣的,下面就將為您介紹SQL Server中不同用戶的操作權(quán)限,供您參考。
se中的用戶分為兩種:SQL服務器用戶(登錄帳號)和數(shù)據(jù)庫用戶。 安裝完SQL服務器后,系統(tǒng)自動建立一個SQL服務器用戶sa,口令為空,即系統(tǒng)管理員,他對整個系統(tǒng)有操作權(quán),其他用戶均由系統(tǒng)管理員建立。
在SQL Server中有三種特殊的用戶:系統(tǒng)管理員、用戶數(shù)據(jù)庫所有者(建立相應數(shù)據(jù)庫的數(shù)據(jù)庫用戶)DBO、一般用戶。系統(tǒng)管理員對整個系統(tǒng)有操作權(quán);用戶數(shù)據(jù)庫所有者對他所建立的數(shù)據(jù)庫具有全部操作權(quán)利;一般用戶對給定的數(shù)據(jù)庫只有被授權(quán)的操作權(quán)限。
數(shù)據(jù)庫用戶一般可分為用戶組,任一數(shù)據(jù)庫在建立后即被賦予一個用戶組public。
1、建立SQL服務器用戶名(登錄帳號)
作為一個用戶,為了使用SQL Server,他必須在SQL Server上有一個SQL服務器用戶名(登錄帳號)。這個帳號是系統(tǒng)管理員通過sp_addlogin來增加的。
sp_addlogin 登錄名,口令,庫名,語言,全名
例:建立用戶zhang, 口令為zhangling(***六位),全名為Zhang ling
1> sp_addlogin zhang,zhangling,null,null,Zhang ling
2> go
3> select * from syslogins
4> go#p#
2、增加數(shù)據(jù)庫用戶名
同樣,為了使用SQL Server上的數(shù)據(jù)庫,他必須在數(shù)據(jù)庫中有一個用戶名,這個用戶名是數(shù)據(jù)庫所有者通過sp_adduser來增加的。數(shù)據(jù)庫用戶名不必和用戶帳戶一樣,而且在不同的數(shù)據(jù)庫中用戶名可以不同。多個用戶可以有相同的SQL Server帳戶。同樣,多個SQL Server帳戶可以有相同的數(shù)據(jù)庫名。
sp_adduser 登錄名,別名,組名
登錄名為用戶的SQL服務器登錄名;別名為用戶在數(shù)據(jù)庫中的用戶名;組名為用戶所屬的數(shù)據(jù)庫用戶組。
例:用戶zhang增加為tele114的用戶,別名為zhang1,屬于用戶組china
1>sp_addgroup china
2>go
1>sp_adduser zhang,zhang1,china
2>go
1> sp_helpuser #p#
2> go
*例:刪除別名zhang1,用戶組china,登錄名zhang
1> use tele114
2> go
3> sp_dropuser zhang1
4> go
5> sp_helpuser
6> go
1>sp_dropgroup china
2>go
1> sp_helpgroup
2> go
3> use master
4> go
5> sp_droplogin zhang
6> go
7> select * from syslogins
8> go #p#
3、數(shù)據(jù)庫操作授權(quán)
grant 命令序列 to 用戶名
A. 系統(tǒng)管理員可以授予其他用戶CREATE DATABASE的權(quán)限,使其他用戶可以成為數(shù)據(jù)庫所有者。
B. 數(shù)據(jù)庫所有者在他所擁有的數(shù)據(jù)庫中,可以授予其他用戶的權(quán)限有:
l CREATE TABLE ------------------- 建表
lCREATE DEFAULT ------------------ 建缺省
lCREATE RULE ------------------- 建規(guī)則
lCREATE PROCedure ------------------ 建存儲過程
lCREATE VIEW ------------------- 建視圖
lDUMP DATABASE ------------------- 備份數(shù)據(jù)庫
lDUMP TRANsaction ------------------ 備份日志
C. 數(shù)據(jù)庫對象所有者可以授予其他用戶的操作權(quán)限有:
l SELECT
l UPDATE
l INSERT
l EXECute
l DELETE
l REFERENCE
例:授予zhang1在數(shù)據(jù)庫tele114上建表,建視圖,建存儲過程;對表students有select,reference權(quán);對name,native字段有update權(quán)。
1> use tele114
2> go
3> grant creat table,create procedure ,create view to zhang1
4> go
5> grant select,reference on students to zhang1 with grant option 6> go
7> grant update on students(name,native) to zhang1
8> go
9> sp_helprotect
10> go
【編輯推薦】
SQL Server中各類型的鎖(LOCK)