程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server的用戶及權限

SQL Server的用戶及權限

編輯:關於SqlServer
Sybase中的用戶分為兩種:SQL服務器用戶(登錄帳號)和數據庫用戶。 安裝完SQL服務器後,系統自動建立一個SQL服務器用戶sa,口令為空,即系統管理員,他對整個系統有操作權,其他用戶均由系統管理員建立。 
在SQL Server中有三種特殊的用戶:系統管理員、用戶數據庫所有者(建立相應數據庫的數據庫用戶)DBO、一般用戶。系統管理員對整個系統有操作權;用戶數據庫所有者對他所建立的數據庫具有全部操作權利;一般用戶對給定的數據庫只有被授權的操作權限。 
數據庫用戶一般可分為用戶組,任一數據庫在建立後即被賦予一個用戶組public。 
1、建立SQL服務器用戶名(登錄帳號) 
作為一個用戶,為了使用SQL Server,他必須在SQL Server上有一個SQL服務器用戶名(登錄帳號)。這個帳號是系統管理員通過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 
2、增加數據庫用戶名 
同樣,為了使用SQL Server上的數據庫,他必須在數據庫中有一個用戶名,這個用戶名是數據庫所有者通過sp_adduser來增加的。數據庫用戶名不必和用戶帳戶一樣,而且在不同的數據庫中用戶名可以不同。多個用戶可以有相同的SQL Server帳戶。同樣,多個SQL Server帳戶可以有相同的數據庫名。 
sp_adduser 登錄名,別名,組名 
登錄名為用戶的SQL服務器登錄名;別名為用戶在數據庫中的用戶名;組名為用戶所屬的數據庫用戶組。 
例:用戶zhang增加為tele114的用戶,別名為zhang1,屬於用戶組china 
1>sp_addgroup china 
2>go 
1>sp_adduser zhang,zhang1,china 
2>go 
1> sp_helpuser 
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 
3、數據庫操作授權 
grant 命令序列 to 用戶名 
A. 系統管理員可以授予其他用戶CREATE DATABASE的權限,使其他用戶可以成為數據庫所有者。 
B. 數據庫所有者在他所擁有的數據庫中,可以授予其他用戶的權限有: 
l CREATE TABLE ------------------- 建表 
lCREATE DEFAULT ------------------ 建缺省 
lCREATE RULE ------------------- 建規則 
lCREATE PROCedure ------------------ 建存儲過程 
lCREATE VIEW ------------------- 建視圖 
lDUMP DATABASE ------------------- 備份數據庫 
lDUMP TRANsaction ------------------ 備份日志 
C. 數據庫對象所有者可以授予其他用戶的操作權限有: 
l SELECT 
l UPDATE 
l INSERT 
l EXECute 
l DELETE 
l REFERENCE 
例:授予zhang1在數據庫tele114上建表,建視圖,建存儲過程;對表students有select,reference權;對name,native字段有update權。 
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 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved