SQL Server服務器角色特性一覽
SQL Server服務器究竟扮演的是什么樣的角色,這些角色都有哪些特性呢?下文就將為您介紹 SQL Server服務器覺角色的特性,供您參考。
所有的SQL Server服務器角色都是“固定的”角色,并且,從一開始就存在于那里——自安裝完SQL Server的那一刻起,你將擁有的所有服務器角色就已經存在了。
角 色 |
特 性 |
sysadmin |
該角色能夠執行SQL Server上的任何操作。本質上,任何具有這種角色成員身份的人都是那個服務器上的sa。這種服務器角色的創建為微軟提供了某一天去除sa登錄的能力——實際上,聯機叢書把sa稱作本質上為遺留物的東西 值得注意的是,在SQL Server上,Windows的Administrators組被自動映射到sysadmin角色中。這意味著服務器的Administrators組中的任何成員同時也具有對SQL數據的sa級別的訪問權限。如果需要,你可以從sysadmin角色中刪除Windows的administrators組,以提高安全性、防范漏洞 |
serveradmin |
該角色能設置服務器范圍的配置選項或關閉服務器。盡管它在范圍上相當有限,但是,由該角色的成員所控制的功能對于服務器的性能會產生非常重大的影響 |
setupadmin |
該角色僅限于管理鏈接服務器和啟動過程 |
securityadmin |
對于專門創建出來用于管理登錄名、讀取錯誤日志和創建數據庫許可權限的登錄名來說,該角色非常便利。在很多方面,該角色是典型的系統操作員角色——它能夠處理多數的日常事務,但是,卻不具備一個真正無所不能的超級用戶所擁有的那種全局訪問 |
processadmin |
能夠管理SQL Server中運行的進程——必要的話,該角色能夠終止長時間運行的進程 |
dbcreator |
該角色僅限于創建和更改數據庫 |
diskadmin |
管理磁盤文件(指派給了什么文件組、附加和分離數據庫,等等) |
bulkadmin |
該角色有些怪異。它被明確創建出來,用于執行BULK INSERT語句的權限,否則的話,只能由具有sysadmin權限的人來執行BULK INSERT語句。坦白地說,我不明白為什么該語句不能像其他事情那樣通過GRANT命令來授予權限,但它的確沒有。要記住,即使把一個用戶加入到了bulkadmin組中,也只是給了他們訪問那個語句的權限,對于運行該語句的表,并沒有授予用戶訪問那個表的權限。這意味著不僅需要把用戶添加到bulkadmin中,而且,對于想要用戶能在其上執行BULK INSERT的表,還要授予(GRANT)用戶INSERT許可權限。此外,對于將在BULK INSERT語句中引用的所有表,還要確保用戶擁有正確的到那些表的SELECT訪問權限 |
對于在SQL Server服務器上承擔管理角色任務的單個用戶,你可以對其混合搭配這些角色。一般來說,我懷疑只有***型的數據庫才會使用比sysadmin和securityadmin更多的角色,然而,有它們在旁邊還是很便利的。
sysadmin角色的存在表明,在不斷發展的基礎上,不再需要讓所有人都有sa登錄賬戶——只要讓需要擁有那種訪問級別的用戶成為sysadmin角色的成員,這樣他們就不再需要以sa登錄。
【編輯推薦】