14.5.1 角色管理簡介
自SQL Server 7 版本開始引入了新的概念角色,從而替代以前版本中組的概念。和組一樣,SQL Server 管理者可以將某些用戶設置為某一角色,這樣只對角色進行權限設置便可實現對所有用戶權限的設置,大大減少了管理員的工作量。在SQL Server 中主要有兩種角色類型:服務器角色與數據庫角色。
1 服務器角色服務器角色是指根據SQL Server 的管理任務,以及這些任務相對的重要性等級來把具有SQL Server 管理職能的用戶劃分成不同的用戶組,每一組所具有管理SQL Server的權限已被預定義。服務器角色適用在服務器范圍內,並且其權限不能被修改。例如,具有sysadmin 角色的用戶在SQL Server 中可以執行任何管理性的工作,任何企圖對其權限進行修改的操作都將會失敗。這一點與數據庫角色不同
SQL Server 共有7 種預定義的服務器角色,各種角色的具體含義如表14-3 所示:
2 數據庫角色
在SQL Server 中我們常會發現我們要將一套數據庫專有權限授予給多個用戶,但這些用戶並不屬於同一個NT 用戶組,或者雖然這些用戶可以被NT 管理者劃為同一NT 用戶組,但遺憾的是,我們卻沒有管理NT 賬號的權限,這時我們就可以在數據庫中添加新數據庫角色或使用已經存在的數據庫角色,並讓這些有著相同數據庫權限的用戶歸屬於同一角色。
由此可見,數據庫角色能為某一用戶或一組用戶授予不同級別的管理或訪問數據庫或數據庫對象的權限,這些權限是數據庫專有的。而且,還可以使一個用戶具有屬於同一數據庫的多個角色。
SQL Server 提供了兩種數據庫角色類型:預定義的數據庫角色、用戶自定義的數據庫角色。
預定義數據庫角色預定義數據庫角色是指這些角色所有具有的管理、訪問數據庫權限已被SQL Server 定義、並且SQL Server 管理者不能對其所具有的權限進行任何修改。SQL Server 中的每一個數據庫中都有一組預定義的數據庫角色,在數據庫中使用預定義的數據庫角色可以將不同級別的數據庫管理工作分給不同的角色,從而很容易實現工作權限的傳遞。例如,如果准備讓某一用戶臨時或長期具有創建和刪除數據庫對象(表、視圖、存儲過程)的權限,那麼只要把他設置為db_ddladmin 數據庫角色即可。
文