SQL_Server_2005數據庫的安全性管理_第1頁
SQL_Server_2005數據庫的安全性管理_第2頁
SQL_Server_2005數據庫的安全性管理_第3頁
SQL_Server_2005數據庫的安全性管理_第4頁
SQL_Server_2005數據庫的安全性管理_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SQL Server 2005數據庫的安全性管理目錄一、 對SQL Server的訪問二、 SQL Server的安全性權限三、 角色前言vSQL Server的安全性管理是建立在登錄驗證和權限許可的基礎上的。v登錄驗證是指核對登錄SQL Server服務器的登錄名和密碼是否正確,以此確定用戶是否具有登錄SQL Server服務器的權限。v通過了登錄驗證,并不意味著用戶能夠訪問SQL Server服務器中的數據庫。用戶只有在被授予訪問數據庫的權限許可之后,才能夠對服務器上的數據庫進行權限許可下的各種操作。vSQL Server引入了角色的概念,來簡化對權限許可的管理。v在SQL Server中

2、,安全性管理可以通過Management Studio的圖形界面進行,但對于熟練的DBA來說,使用Transact-SQL語句進行安全性管理可能更有效率。SQL Server 2005提供了豐富的與安全性管理相關的Transact-SQL語句。v在SQL Server中,通過使用視圖和存儲過程也可以控制用戶對數據的訪問,實現對數據安全管理。一、 對SQL Server的訪問 v在SQL Server 2005中,用登錄名來控制用戶是否具有登錄SQL Server服務器的權限。用數據庫用戶來控制用戶是否具有操縱SQL Server服務器中的數據庫的權限。而對用戶身份的驗證,是通過核對登錄名和密碼

3、是否正確來完成的。1身份驗證模式(Authentication Modes) vSQL Server能在兩種身份驗證模式下運行Windows身份驗證模式混合模式。v在Windows身份驗證模式下,SQL Server依靠Windows 身份驗證來驗證用戶的身份。v在混合模式下,SQL Server依靠Windows身份驗證或SQL Server身份驗證來驗證用戶的身份。(1)Windows身份驗證模式 vSQL Server的Windows身份驗證模式利用了Windows操作系統(tǒng)本身的用戶管理系統(tǒng)和驗證機制,允許使用Windows操作系統(tǒng)的用戶名和密碼來登錄SQL Server。在該模式下,用

4、戶只要通過了Windows操作系統(tǒng)的登錄驗證就可以直接登錄SQL Server,不需要另外再進行驗證。 vWindows身份驗證模式有某些優(yōu)點,因為它與 Windows操作系統(tǒng)的安全系統(tǒng)集成,簡化了管理。另外,Windows安全系統(tǒng)提供更多的功能,如用戶組、密碼加密、審核、密碼過期、最短密碼長度和鎖定賬戶等。 (2)混合模式v在混合模式下,Windows 身份驗證或SQL Server身份驗證都是可以用的。用戶既可以使用 Windows 身份驗證,也可以使用SQL Server身份驗證。v使用SQL Server身份驗證時,用戶必須提供登錄名和密碼,SQL Server檢查自己的數據庫中有無此

5、登錄名,并比較登錄名和密碼是否正確,如果數據庫中沒有此登錄名或登錄名和密碼不正確,訪問將被拒絕。v這里的登錄名是數據庫管理員在SQL Server中創(chuàng)建并分配給用戶的,與Windows 操作系統(tǒng)的用戶無關。另外,身份驗證是由SQL Server 自己執(zhí)行,而不是由Windows 操作系統(tǒng)執(zhí)行的。 v為了向后兼容性,要使用SQL Server身份驗證(混合模式),因為用SQL Server 7.0或更早的版本編寫的應用程序可能要求使用SQL Server身份驗證。有些Web應用程序也會要求使用SQL Server身份驗證(混合模式),因為Web應用程序可能不會與SQL Server服務器處于同一

6、Windows 域中,無法進行Windows身份驗證。由于一些原因,有些第三方提供的應用程序可能也會要求SQL Server身份驗證(混合模式)。(3)配置身份驗證模式v配置身份驗證模式的方法如下: 打開Management Studio,正確注冊并登錄數據庫服務器,在Management Studio左邊的“資源對象管理器”窗格中,右鍵單擊要配置的SQL Server服務器。在彈出的快捷菜單中,選擇“屬性”命令。在出現的“服務器屬性”窗口的“選擇頁”窗格中,單擊“安全性”項,打開“安全性”選項頁,如圖1所示,在“服務器身份驗證”欄,如果要將身份驗證模式設為Windows身份驗證模式,則選擇“

7、Windows身份驗證模式”單選按鈕;如果要將身份驗證模式設為混合模式,則選擇“SQL Server和Windows身份驗證模式” 單選按鈕,然后再單擊“確定”按鈕。要讓改變生效,必須重新啟動SQL Server。在重新啟動前,SQL Server不會運行在新設置的模式下。 圖1 設置身份驗證模式 2登錄名(Logins)和數據庫用戶(Database Users) v不管是處在Windows身份驗證模式還是混合模式下,用戶用來登錄SQL Server服務器的賬戶就叫登錄名(Login)。vSQL Server用登錄名來控制用戶是否具有登錄SQL Server服務器的權限。登錄名是數據庫管理員

8、在SQL Server服務器中創(chuàng)建并分配給用戶使用的。v用戶使用登錄名登錄SQL Server服務器后,并不意味著用戶能夠訪問SQL Server服務器中的各個數據庫。只有在登錄名被關聯(lián)到某一個數據庫的數據庫用戶(Database User)上,用戶才能訪問那個數據庫。vSQL Server用數據庫用戶來指出哪一個人可以訪問哪一個數據庫。用戶對數據的訪問權限,以及與數據庫對象的所有關系都是通過數據庫用戶來控制的。數據庫用戶通常是由數據庫管理員在SQL Server服務器的各個數據庫中創(chuàng)建的。SQL Server服務器中的每個數據庫都有一套自己的、獨立的用戶庫,也就是說兩個不同數據庫中可以有兩個

9、相同的用戶名。v一個登錄名總是與一個或多個數據庫用戶相關聯(lián)。這個關聯(lián)工作,一般是由數據庫管理員在為用戶新建登錄名或修改登錄名屬性時完成的。但對于一些特殊登錄名,這個過程是由SQL Server服務器自動完成的。例如,sa是SQL Server內置的管理員登錄名,sa登錄名自動與每一個數據庫的dbo用戶相關聯(lián)。 3特殊的登錄名和數據庫用戶 vsa(System Administrator,系統(tǒng)管理員)是SQL Server自動創(chuàng)建的、內置的登錄名。sa 是為向后兼容而提供的特殊登錄名,不能被刪除。默認情況下,sa被授予固定服務器角色sysadmin,可以在SQL Server 中進行任何活動。雖

10、然sa是內置的管理員登錄名,但不建議使用它來進行管理工作。應為每個數據庫管理員建立單獨的登錄名,并使之成為sysadmin 固定服務器角色的成員,然后,數據庫管理員使用自己的登錄名來登錄SQL Server進行管理工作。vdbo(Database Owner,數據庫所有者)是SQL Server自動創(chuàng)建的、內置的數據庫用戶,具有在數據庫中執(zhí)行所有活動的權限。當創(chuàng)建一個新的數據庫時,dbo用戶自動被創(chuàng)建。SQL Server將固定服務器角色 sysadmin 的任何成員都映射到每個數據庫內的dbo用戶上。vguest 用戶也是SQL Server自動創(chuàng)建的、內置的數據庫用戶。一般來說數據庫用戶總

11、是與某一登錄名相關聯(lián)的,但guest用戶是一個例外。guest用戶不具體與某一登錄名相關聯(lián),但guest用戶允許沒有與用戶關聯(lián)的登錄名訪問數據庫。 4管理賬戶 (1)創(chuàng)建登錄名 v創(chuàng)建登錄名的方法有兩種:使Management Studio、使用Transact-SQL語句。下面使用Management Studio來創(chuàng)建登錄名。 打開Management Studio,正確注冊并登錄數據庫服務器,在Management Studio的“資源對象管理器”窗格中,如圖2所示,展開“劉召召”“安全性”“登錄名”項,右鍵單擊“登錄名”項,在彈出的快捷菜單中,選擇“新建登錄名”命令。圖2 新建登錄名

12、出現“登錄名-新建”窗口的“常規(guī)”選項頁,如圖3所示,在“登錄名”文本框中,輸入新的登錄名的名稱;選擇“SQL Server 身份驗證”單選按鈕;在“密碼”文本框中輸入密碼(可選);取消“用戶在下次登錄時必須更改密碼”復選框;在“默認數據庫”下拉框中,選擇用此登錄名登錄SQL Server 服務器之后將要操作的默認數據庫;在“默認語言”下拉框中,選擇用此登錄名登錄SQL Server 服務器之后使用的默認語言。圖3 “登錄名-新建”窗口的“常規(guī)”選項頁 在圖3中,單擊左上方“選擇頁”窗格中的“服務器角色”選項頁。在“服務器角色”選項頁中,如圖4所示,可以為新建的登錄名指定服務器角色(服務器角色

13、在后面介紹)。對于普通的登錄名來說,一般是不需要指定服務器角色的。 圖4 “登錄名-新建”窗口的“服務器角色”選項頁 在圖3中,單擊左上方“選擇頁”窗格中的“用戶映射”選項頁。在“用戶映射”選項頁中,如圖5所示,可以為新建的登錄名指定要映射的數據庫用戶,同時可以指定數據庫角色成員身份(數據庫用戶角色會在本章后面介紹)。如果指定要映射的數據庫用戶不存在,則SQL Server會在創(chuàng)建登錄名的同時,自動在指定的數據庫中創(chuàng)建該數據庫用戶,并將該登錄名和該數據庫用戶進行關聯(lián)??梢砸淮涡詾樾陆ǖ牡卿浢成涠鄠€數據庫用戶。在“用戶映射”選項頁中還可以為新建的登錄名在數據庫指定默認架構,如果不指定默認架構,

14、則默認架構為dbo。在“用戶映射”選項頁中,還可為新建的登錄名指定其數據庫角色成員身份。 圖5 “登錄名-新建”窗口的“用戶映射”選項頁 完成上述步驟后,單擊“確定”按鈕,完成了登錄名的創(chuàng)建,在Management Studio中可以看到新建的登錄名,如圖6所示。圖6 Management Studio中新建的登錄名 (2)授予Windows 用戶或組登錄SQL Server的權限 v在Windows用戶或組可以訪問數據庫之前,必須授予它們登錄SQL Server服務器的權限。如果單個Windows 用戶需要登錄SQL Server 服務器,則授予單個Windows 用戶登錄SQL Serve

15、r服務器的權限。如果Windows 用戶組的所有成員都需要登錄 SQL Server 服務器,則可將組作為一個整體來授予登錄權限。v授予Windows 用戶或組登錄SQL Server的權限的步驟與創(chuàng)建登錄名的步驟基本上是一樣的,只是在第步時有一點不同:在圖3的“常規(guī)”選項頁中,在“登錄名”文本框中,應以DOMAINUser的形式輸入要被授權登錄SQL Server服務器的 Windows用戶名或組名,也可單擊“搜索”按鈕打開“選擇用戶與組”對話框來選擇Windows用戶或組;另外,應選擇“Windows身份驗證”單選按鈕。 (3)創(chuàng)建數據庫用戶 v可以使用Management Studio或

16、Transact-SQL語句來創(chuàng)建數據庫用戶。為了創(chuàng)建一個新的數據庫用戶,必須事先確定一個將與該數據庫用戶相關的登錄名。下面使用Management Studio來創(chuàng)建數據庫用戶。 打開Management Studio,正確注冊并連接到數據庫服務器,在Management Studio的“資源對象管理器”窗格中,如圖7所示,展開“劉召召”“數據庫”要創(chuàng)建用戶的數據庫“安全性”項,右鍵單擊“用戶”項,在彈出的快捷菜單中,選擇“新建用戶”命令。 圖7 在Management Studio中創(chuàng)建數據庫用戶 在出現的“數據庫用戶-新建用戶”窗口的“常規(guī)”選項頁中,如圖8所示,在“用戶名”文本框中,輸

17、入數據庫用戶名;在“登錄名”文本框中,輸入事先已經創(chuàng)建好的登錄名,也可單擊瀏覽按鈕并在彈出的“選擇登錄名”對話框中選擇登錄名;在“默認架構”文本框中,輸入該用戶的默認架構,也可單擊瀏覽按鈕并在彈出的“選擇架構”對話框中選擇該用戶的默認架構,如果不輸入默認架構,則該用戶的默認架構為dbo;在“數據庫角色成員身份”列表框中,為此用戶指定數據庫角色,單擊“確定”按鈕,完成數據庫用戶的創(chuàng)建。新創(chuàng)建的數據庫用戶出現在Management Studio中,如圖9所示 圖8 “數據庫用戶-新建”窗口的“常規(guī)”選項頁圖9 新創(chuàng)建的數據庫用戶5訪問數據庫的過程v用戶訪問SQL Server數據庫的過程如下: 用

18、戶使用登錄名登錄SQL Server服務器,如果登錄名和密碼正確,則登錄成功。 用戶訪問SQL Server服務器中的某一數據庫,SQL Server檢查該登錄名是否與該數據庫中的某一用戶相關聯(lián),如果有,則允許它以該用戶身份訪問數據庫;如果沒有,則SQL Server檢查該數據庫中是否有guest用戶,如果有,則允許用戶以guest用戶來訪問該數據庫,如果沒有,則該用戶對該數據庫的訪問被拒絕。 二、 SQL Server的安全性權限vSQL Server通過為用戶分配權限來決定用戶能夠執(zhí)行什么樣的操作。vSQL Server的權限管理牽涉到3個重要的概念主體安全對象權限。v“主體”是可以請求S

19、QL Server 資源的個體、組和過程。例如,登錄名、數據庫用戶和角色都是主體。“安全對象”是SQL Server要控制對其進行訪問的資源。例如,表、視圖和存儲過程等都是安全對象?!皺嘞蕖笔侵黧w可以對安全對象執(zhí)行的各種操作許可。例如,SELECT權限、UPDATE權限、DELETE權限等。主體與安全對象之間是通過權限關聯(lián)在一起的,主體能否對安全對象進行操作,取決于主體是否擁有操作安全對象的權限。 1主體v“主體”是可以請求SQL Server 資源的個體、組和過程。v主體按層次結構可分為三個級別Windows 級別vWindows 域登錄名和Windows 本地登錄名。SQL Server

20、級別vSQL Server 登錄名。數據庫級別。v數據庫用戶、數據庫角色和應用程序角色。 2安全對象v“安全對象”是SQL Server要控制對其進行訪問的資源。v安全對象之間是一種嵌套層次結構,某些安全對象可以包含其他安全對象。v安全對象范圍有服務器、數據庫和架構。v一個服務器中可以有包含多個數據庫,一個數據庫可以包含多個架構,一個架構可以包含表、視圖等數據庫對象。 v服務器范圍的安全對象包括:數據庫、登錄賬戶和端點。v數據庫范圍的安全對象主要有:架構、數據庫用戶、數據庫角色、應用程序角色、程序集、消息類型、路由、服務、遠程服務綁定、全文目錄、證書、非對稱密鑰、對稱密鑰、約定等。v架構范圍的

21、安全對象包括:表、視圖、存儲過程、約束、函數、同義詞、隊列、聚合、統(tǒng)計信息、類型、XML 架構集合等。v服務器、數據庫和架構本身也是一種安全對象,但它們又可以包含其他安全對象。架構 v架構是SQL Server 2005引入的一個新的安全對象。v架構是形成單個命名空間的數據庫實體的集合。命名空間是一個集合,其中每個元素的名稱都是唯一的。例如,為了避免名稱沖突,同一架構中不能有兩個同名的表。兩個表只有在位于不同的架構中時才可以同名。 v對于數據庫對象來說,完整的對象名稱其實由4個標識符組成:服務器名稱、數據庫名稱、架構名稱和對象名稱。格式如下: server. database . schema

22、_name . object_namev指定了所有4個部分的對象名稱被稱為完全限定名稱。v在 SQL Server 2005 中創(chuàng)建的每個對象必須具有唯一的完全限定名稱。完全限定名稱通常用于分布式查詢或遠程存儲過程調用,對于本地使用,往往只是指定對象名稱,當只指定對象名稱時,將使用當前服務器名稱、當前數據庫名稱和默認架構。v默認架構用于解析未使用其完全限定名稱引用的對象的名稱。v在SQL Server 2005中,每個用戶都有一個默認架構,用于指定服務器在解析對象的名稱時將要搜索的第一個架構。如果未定義用戶的默認架構,則數據庫用戶將把架構dbo作為其默認架構。v例如:在劉召召數據庫服務器的lz

23、z30312數據庫中使用SELECT * FROM STUDENT語句,實際上對劉召召.lzz30312.dbo.STUDENT表進行查詢。v可以通過Management Studio創(chuàng)建架構、刪除架構和在架構之間移動對象。也可通過CREATE SCHEMA,DROP SCHEMA 和ALTER SCHEMA等Transact-SQL語句來創(chuàng)建架構、刪除架構和在架構之間移動對象。注意:要刪除的架構不能包含任何對象。如果架構包含對象,則刪除將失敗。 3權限v“權限”是主體可以對安全對象執(zhí)行的各種操作許可。在SQL Server 2005中,主要的權限類別如下。 SELECT權限,授予讀取安全對象

24、的數據的權限。這些安全對象可以是表、視圖、同義詞、表值函數、表或視圖中的單個列。 UPDATE權限,授予更新安全對象的數據的權限。這些安全對象可以是表或視圖中的單個列和同義詞。 INSERT權限,授予向安全對象中插入數據的權限。這些安全對象可以是表、視圖或同義詞。 DELETE權限,授予從安全對象中刪除數據的權限。這些安全對象可以是表、視圖或同義詞。 EXECUTE權限,授予執(zhí)行存儲過程或用戶自定義函數的權限。適用的安全對象可以是存儲過程、用戶自定義函數或同義詞。 CONTROL權限,授予類似所有權的權限。被授權者實際上擁有安全對象具有的所有權限。適用的安全對象可以是服務器、數據庫、架構、表、

25、視圖、存儲過程、同義詞、表值函數、標量函數和聚合函數等。當授予對某個范圍的 CONTROL 權限時,也隱含著授予對該范圍內包含的所有安全對象的 CONTROL 權限。例如,對數據庫的 CONTROL 權限隱含著對數據庫的所有權限,以及對數據庫范圍中所有安全對象的所有權限。 ALTER權限,授予更改特定安全對象的屬性(所有權除外)的權限。這些安全對象可以是服務器、數據庫、架構、表、視圖、存儲過程、同義詞、表值函數、標量函數和聚合函數等。當授予對某個范圍的 ALTER 權限時,也隱含著授予更改、創(chuàng)建或刪除該范圍內包含的所有安全對象的權限。例如,對架構的 ALTER 權限包括在該架構中創(chuàng)建、更改和刪

26、除對象的權限。 TAKE OWNERSHIP權限,授予獲取安全對象的所有權的權限。這些安全對象可以是數據庫、架構、表、視圖、存儲過程、同義詞、表值函數、標量函數和聚合函數等。 CREATE權限,授予創(chuàng)建安全對象的權限。這些安全對象可以是服務器范圍內的對象、數據庫及數據庫范圍內的對象、架構及架構范圍內的對象。 BACKUP 權限,授予用戶執(zhí)行備份命令的權限。適用的安全對象是數據庫和事務日志。4權限的管理 v在SQL Server中,管理權限的方法有兩種:使用Management Studio和使用Transact-SQL語句。v通過Management Studio管理權限時,可以基于主體來管理

27、權限,也可以基于安全對象來管理權限。 (1)基于主體的權限管理v基于主體來管理權限,可以方便地為一個主體分配多個安全對象的權限。這種方式是通過主體的“屬性”窗口的“安全對象”選項頁做到的。下面以授予一個數據庫用戶多個安全對象權限為例來說明這種方式的使用。 打開Management Studio,正確注冊并連接到數據庫服務器,在Management Studio的“資源對象管理器”窗格中,如圖10所示,展開“劉召召”“數據庫”要操作的數據庫“安全性”“用戶”項,右鍵單擊要為其分配權限的用戶名,在彈出的快捷菜單中,選擇“屬性”命令。圖10 啟動基于主體的權限管理 在出現的“數據庫用戶”屬性窗口左上

28、方的“選擇頁”窗格中單擊“安全對象”項,打開“安全對象”選項頁,如圖11所示,單擊“添加”按鈕,可以將多個數據庫對象(表、視圖、存儲過程、架構等)添加到上部的“安全對象”網格中。單擊“刪除”按鈕,可以從上部“安全對象”網格中刪除所選項。v在上部“安全對象”網格中選中一項,然后在下部“顯式權限”網格中為其設置適當的權限。這個操作可重復進行,以達到為主體分配多個安全對象權限的目的。v“顯示權限”網格列出了上部“安全對象”網格中所選安全對象的可能權限。選中或清除“授予”、“具有授予權限”和“拒絕”復選框可以對這些權限進行配置。選中“拒絕”將覆蓋其他所有設置。v對于包含列的對象(如表、視圖或表值函數)

29、,單擊“列權限”按鈕可打開“列權限”對話框,從中可以將表或視圖的各個列的權限設置為“授予”、“允許”或“拒絕”。v單擊“有效權限”按鈕,可以查看該數據庫用戶對上部“安全對象”網格中所選中的項所具有的所有權限。v單擊“確定”按鈕完成權限的分配。 圖11 “數據庫用戶”屬性窗口的“安全對象”選項頁(2)基于安全對象的權限管理 v基于安全對象來管理權限,可以方便地將一個安全對象的權限分配給多個主體。這種方式是通過安全對象的“屬性”窗口的“權限”選項頁做到的。下面以將一個表的權限授予多個數據庫用戶為例來說明這種方式的使用。 打開Management Studio,正確注冊并登錄數據庫服務器,在Mana

30、gement Studio的“資源對象管理器”窗格中,如圖12所示,展開“劉召召”“數據庫”要操作的數據庫要操作的表,右鍵單擊要操作的表,在彈出的快捷菜單中,選擇“屬性”命令。圖12 啟動基于安全對象的權限管理 在出現的“表屬性”窗口的“選擇頁”窗格中單擊“權限”項,打開“權限”選項頁,如圖13所示,單擊“添加”按鈕,可以將數據庫用戶或角色添加到上部的“用戶或角色”網格中。單擊“刪除”按鈕,可以從上部“用戶或角色”網格中刪除所選項。v在上部“用戶或角色”網格中選中一項,然后在下部“顯式權限”網格中為其設置適當的權限。這個操作可重復進行,以達到將安全對象的權限分配給多個主體的目的。v“顯示權限”

31、網格列出該數據庫對象的可能權限。選中或清除“授予”、“具有授予權限”和“拒絕”復選框可以對這些權限進行配置。選中“拒絕”復選框將覆蓋其他所有設置。v對于可應用于列的權限(如SELECT,UPDATE等),單擊“列權限”按鈕可打開“列權限”對話框,從中可以將表或視圖的各個列的權限設置為“授予”、“允許”或“拒絕”。v單擊“有效權限”按鈕,可以查看上部“用戶與角色”網格中所選中的項對該數據庫對象所具有的所有權限。v單擊“確定”按鈕,完成權限的分配 圖13 “表屬性”窗口的“權限”選項頁 三、 角色 v使用角色可以簡化對大量用戶的權限管理工作。v角色用來為成組的用戶賦予相同的權限,而不需要為每個用戶

32、單獨賦權。v用戶可以根據管理需要,劃分和創(chuàng)建出幾種權限不同的角色,并將相應的權限授予各個角色,然后可以將角色賦予一個或多個用戶,這樣,這些用戶就具有了該角色所具有的權限。v在用戶較多的情況下,使用角色可以顯著地減少管理開銷。 1角色的類型 v在SQL Server中,角色有兩種類型:服務器角色和數據庫角色。v服務器角色是指由SQL Server預定義,并被授予了管理SQL Server服務器權限的角色。服務器角色適用于服務器范圍內。v數據庫角色是指被授予了管理或訪問SQL Server服務器中的數據庫或數據庫對象的權限的角色。數據庫角色適用于SQL Server服務器中的數據庫。數據庫角色又可

33、分為兩類:固定數據庫角色和用戶自定義的數據庫角色。 (1)服務器角色v由SQL Server預定義,并被授予了管理SQL Server服務器權限的角色就叫服務器角色。v服務器角色適用于服務器范圍內。v服務器角色是由SQL Server自動創(chuàng)建的,是固定的,不能被刪除,其權限也不能被修改,用戶也不能創(chuàng)建新的服務器角色。 預定義的8種固定服務器角色 sysadmin角色,可以在SQL Server 中進行任何活動,該角色的權限包括了所有其他固定服務器角色所具有的權限; serveradmin角色,配置服務器范圍的設置; setupadmin角色,添加和刪除鏈接服務器,并執(zhí)行某些系統(tǒng)存儲過程; se

34、curityadmin角色,管理服務器登錄; processadmin角色,管理在SQL Server服務器中運行的進程; dbcreator角色,創(chuàng)建和修改數據庫; diskadmin角色,管理磁盤文件; bulkadmin角色,執(zhí)行BULK INSERT語句 可將任何有效的登錄名添加為服務器角色成員,這樣,登錄名就可獲得服務器角色所具有的權限。 (2)固定數據庫角色v固定數據庫角色,是指由SQL Server自動創(chuàng)建的、固定的、不能被數據庫管理員或用戶修改或刪除的數據庫角色。v在SQL Server中,預定義了9種固定數據庫角色,它們是: db_owner角色,數據庫的所有者,可以執(zhí)行任何

35、數據庫管理工作,可以對數據庫內的任何對象進行任何操作,如刪除、創(chuàng)建對象,可以將權限指派給其他用戶,該角色包含所有其他固定數據庫角色所具有的權限; db_accessadmin角色,可以在數據庫中添加或刪除Windows組和用戶及SQL Server用戶; db_datareader角色,可以查看來自數據庫中所有用戶表的全部數據; db_datawriter角色,可以添加、更改或刪除來自數據庫中所有用戶表的數據; db_ddladmin角色,可以添加、修改或刪除數據庫中的對象; db_securityadmin角色,管理數據庫角色和角色的成員,并管理數據庫的語句權限和權限; db_backupo

36、perator角色,可以進行數據庫的備份工作; db_denydatareader角色,不能查看數據庫中任何表的數據; db_securityadmin角色,可以修改角色成員身份和管理權限。 可將任何有效的數據庫用戶(包括組)或角色添加為固定數據庫角色成員,這樣,這些數據庫用戶或角色就可獲得固定數據庫角色所具有的權限。 (3)public角色vSQL Server還有一個特殊的數據庫角色public。v在創(chuàng)建數據庫時,public角色就在其中自動創(chuàng)建好了。public角色不能被刪除,也不能為這個角色增加或刪除用戶。v數據庫中每個用戶都自動屬于public角色。v如果需要提供一種默認的權限給所有

37、用戶時,可以將這種權限賦予public角色,由于數據庫中每個用戶都自動屬于public角色,所以所有的用戶都自動擁有了這種權限。(4)用戶自定義的角色 v用戶自定義的角色是指由用戶自己創(chuàng)建并定義權限的角色。v用戶自定義的角色提供了分配給用戶特定權限的能力,而這是固定數據庫角色所不能提供的。如果要為一些數據庫用戶設置相同的權限,但是這些權限又與固定數據庫角色的權限不同,就可以創(chuàng)建用戶自定義的數據庫角色。v用戶自定義的角色有兩種類型:數據庫角色和應用程序角色。數據庫角色是基于用戶的,用于一般的數據庫權限管理工作。應用程序角色是一種比較特殊的角色類型,是基于應用程序的。使用應用程序角色可以限制用戶只

38、能通過特定應用程序來訪問數據。 2管理角色(1)為服務器角色添加成員 v通過將登錄名添加到服務器角色,用戶可以獲得服務器角色所具有的權限。v可以使用Management Studio或Transact-SQL語句將登錄名添加到服務器角色。v下面使用Management Studio將登錄名添加到服務器角色。 打開Management Studio,正確注冊并登錄數據庫服務器,在Management Studio的“資源對象管理器”窗格中,如圖14所示,展開“劉召召”“安全性”“服務器角色”項,右鍵單擊用戶所要加入的角色,在彈出的快捷菜單中,選擇“屬性”命令 圖14 打開“服務器角色”屬性 在出

39、現的“服務器角色屬性”窗口中,如圖15所示,單擊“添加”按鈕。 圖15 “服務器角色屬性”窗口 在出現的“選擇登錄名”對話框中,如圖16所示,在“輸入要選擇的對象名稱”文本框中輸入登錄名,或單擊“瀏覽”按鈕選擇對象名稱,單擊“確定”按鈕,返回到圖15界面,再單擊“確定”按鈕完成添加。 圖16 “添加成員”對話框 (2)創(chuàng)建用戶自定義的數據庫角色v使用自定義的數據庫角色,可以簡化數據庫權限的管理工作。使用自定義的數據庫角色管理數據庫權限,一般按照以下三個步驟進行: 創(chuàng)建或修改自定義角色; 分配數據庫權限給自定義的角色; 將用戶添加到自定義角色。v可以使用Management Studio或Transact-SQL語句創(chuàng)建用戶自定義的數據庫角色。v下面使用Management Studio創(chuàng)建用戶自定義的數據庫角色。 打開Management Studio,正確注冊并登錄數據庫服務器,在Management Studio的“資源對象管理器”窗格中,如圖17所示,展開“劉召召”

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論