--伺服器角色:--固定伺服器角色具有一組固定的許可權,並且適用於整個伺服器範圍。 它們專門用於管理 SQL Server,且不能更改分配給它們的許可權。 --可以在資料庫中不存在用戶帳戶的情況下向固定伺服器角色分配登錄。--按照從最低級別的角色(bulkadmin)到最高級別的角色(sysadmin) ...
--伺服器角色:
--固定伺服器角色具有一組固定的許可權,並且適用於整個伺服器範圍。 它們專門用於管理 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