--服務器角色:
--固定服務器角色具有一組固定的權限,並且適用於整個服務器范圍。 它們專門用於管理 SQL Server,且不能更改分配給它們的權限。
--可以在數據庫中不存在用戶帳戶的情況下向固定服務器角色分配登錄。
--按照從最低級別的角色(bulkadmin)到最高級別的角色(sysadmin)的順序進行描述:
--1、Bulkadmin:這個服務器角色的成員可以運行BULKINSERT語句。這條語句允許從文本文件中將數據導入到SQLServer 2008數據庫中,
-- 為需要執行大容量插入到數據庫的域賬戶而設計。
--2、Dbcreator:這個服務器角色的成員可以創建、更改、刪除和還原任何數據庫。這不僅是適合助理DBA的角色,
-- 也可能是適合開發人員的角色。
--3、Diskadmin:這個服務器角色用於管理磁盤文件,比如鏡像數據庫和添加備份設備。它適合助理DBA。
--4、Processadmin:SQLServer 2008能夠多任務化,也就是說可以通過執行多個進程做多個事件。
-- 例如,SQLServer 2008可以生成一個進程用於向高速緩存寫數據,同時生成另一個進程用於從高速緩存中讀取數據。
-- 這個角色的成員可以結束(在SQLServer 2008中稱為刪除)進程。
--5、Securityadmin:這個服務器角色的成員將管理登錄名及其屬性。他們可以授權、拒絕和撤銷服務器級權限。
-- 也可以授權、拒絕和撤銷數據庫級權限。另外,它們可以重置SQLServer 2008登錄名的密碼。
--6、Serveradmin:這個服務器角色的成員可以更改服務器范圍的配置選項和關閉服務器。
-- 例如SQLServer 2008可以使用多大內存或監視通過網絡發送多少信息,或者關閉服務器,這個角色可以減輕管理員的一些管理負擔。
--7、Setupadmin:為需要管理鏈接服務器和控制啟動的存儲過程的用戶而設計。
-- 這個角色的成員能添加到setupadmin,能增加、刪除和配置鏈接服務器,並能控制啟動過程。
--8、Sysadmin:這個服務器角色的成員有權在SQLServer 2008中執行任何任務。
--9、Public:有兩大特點,第一,初始狀態時沒有權限;第二,所有的數據庫用戶都是它的成員。
--數據庫角色
--固定數據庫角色具有一組預定義的權限,這些權限旨在允許您輕松管理權限組。 db_owner 角色的成員可對數據庫執行所有配置和維護活動。
--微軟提供了9個內置的角色,以便於在數據庫級別授予用戶特殊的權限集合
--db_owner:該角色的用戶可以在數據庫中執行任何操作。
--db_accessadmin:該角色的成員可以從數據庫中增加或者刪除用戶。
--db_backupopperator:該角色的成員允許備份數據庫。
--db_datareader:該角色的成員允許從任何表讀取任何數據。
--db_datawriter:該角色的成員允許往任何表寫入數據。
--db_ddladmin:該角色的成員允許在數據庫中增加、修改或者刪除任何對象(即可以執行任何DDL語句)。
--創建一個登錄用戶
create login Diviner
with
password='825991',
default_database=WangPing
--使用存儲過程,為新建登錄用戶授予Diskadmin角色
exec sp_addsrvrolemember 'Diviner','Diskadmin'
--為登錄賬戶創建數據庫賬戶,完成登錄用戶的和數據庫賬戶映射起來,一般建議將數據庫用戶和登錄用戶名保持一致
create user Diviner for login Diviner with default_schema=dbo
--使用存儲過程,為新建數據庫用戶授權給具有執行ddl的權限
exec sp_addrolemember 'db_ddladmin','Diviner'
--授權給我們新創建的用戶
Grant select,update,delete,insert
ON T_Mystudents
to Diviner
--回收權限
revoke select,insert,update,delete
on T_Mystudents
from Diviner
--創建一個角色(並且將角色自動的分配給用戶)
create role manager authorization Diviner
----將角色分配給用戶Divinier(不可用)
--grant manager
--to Diviner
----將分配給用戶Divinier分配給用戶的manager角色(不可用)
--revoke manager
--from Diviner cascade
--刪除角色
drop role manager
--給角色授權
grant select,insert,delete,update
on T_Mystudents
to manager
--回收角色的權限
revoke select,insert,delete,update
on T_Mystudents
from manager
--刪除數據庫用戶
drop user Diviner
--刪除登錄用戶
drop login Diviner