第章SQLServer25的安全管理ppt課件_第1頁
第章SQLServer25的安全管理ppt課件_第2頁
第章SQLServer25的安全管理ppt課件_第3頁
第章SQLServer25的安全管理ppt課件_第4頁
第章SQLServer25的安全管理ppt課件_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第10章章 sql server 2005的安全管理的安全管理第第10章章 sql server 2005的安全管理的安全管理sql server 2005的安全性機制主要包括以下的安全性機制主要包括以下5個方面的內(nèi)容:個方面的內(nèi)容:nsql server 2005客戶機的安全機制??蛻魴C的安全機制。n網(wǎng)絡(luò)傳輸?shù)陌踩珯C制。網(wǎng)絡(luò)傳輸?shù)陌踩珯C制。nsql server 2005服務(wù)器的安全機制。服務(wù)器的安全機制。n數(shù)據(jù)庫的的安全機制。數(shù)據(jù)庫的的安全機制。n數(shù)據(jù)對象的安全機制。數(shù)據(jù)對象的安全機制。10.1.1基本概念基本概念若要在若要在sql server 2005的安全機制下,首先需的安全機制下

2、,首先需要了解下面常用的基本概念或術(shù)語。要了解下面常用的基本概念或術(shù)語。(1)主體()主體(principal)。主體是可以請求對)。主體是可以請求對sql server資源的訪問權(quán)限的用戶、組和進(jìn)資源的訪問權(quán)限的用戶、組和進(jìn)程。主體有幾個共同的特征。每個主體都有程。主體有幾個共同的特征。每個主體都有自己的安全標(biāo)識號(自己的安全標(biāo)識號(sid)。主體可以是主)。主體可以是主體的集合(比如數(shù)據(jù)庫角色或體的集合(比如數(shù)據(jù)庫角色或windows組)組)或不可分割的主體(比如本地登錄或域登或不可分割的主體(比如本地登錄或域登錄)。每個主體有一個作用域,作用域基于錄)。每個主體有一個作用域,作用域基于定

3、義主體的級別。定義主體的級別。主體范圍主體范圍主體主體windows級別的級別的主體主體windows域登錄、域登錄、windows本本地登錄地登錄 sql server級別級別的主體的主體sql server登錄、登錄、sql server角色角色數(shù)據(jù)庫級別的主數(shù)據(jù)庫級別的主體體數(shù)據(jù)庫用戶、數(shù)據(jù)庫角色、應(yīng)數(shù)據(jù)庫用戶、數(shù)據(jù)庫角色、應(yīng)用程序角色用程序角色10.1.1基本概念基本概念(2)安全對象。安全對象是)安全對象。安全對象是 sql server 2005數(shù)據(jù)庫引擎授權(quán)系統(tǒng)控數(shù)據(jù)庫引擎授權(quán)系統(tǒng)控制對其進(jìn)行訪問的資源。通過創(chuàng)建制對其進(jìn)行訪問的資源。通過創(chuàng)建可以為自己設(shè)置安全性的名為可以為自己設(shè)

4、置安全性的名為“范范圍圍”的嵌套層次結(jié)構(gòu),可以將某些的嵌套層次結(jié)構(gòu),可以將某些安全對象包含在其他安全對象中。安全對象包含在其他安全對象中。安全對象范圍包括服務(wù)器、數(shù)據(jù)庫、安全對象范圍包括服務(wù)器、數(shù)據(jù)庫、架構(gòu)和對象。架構(gòu)和對象。安全對象范圍安全對象范圍安全對象列表安全對象列表服務(wù)器服務(wù)器端點、登錄用戶、數(shù)據(jù)庫端點、登錄用戶、數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫用戶、角色、應(yīng)用程序角色、程序集、用戶、角色、應(yīng)用程序角色、程序集、消息類型、路由、服務(wù)、遠(yuǎn)程服務(wù)綁定、消息類型、路由、服務(wù)、遠(yuǎn)程服務(wù)綁定、 全文目錄、證書、非對稱密鑰、對稱密全文目錄、證書、非對稱密鑰、對稱密鑰、約定、架構(gòu)鑰、約定、架構(gòu)架構(gòu)架構(gòu)類型、類型、

5、xml 架構(gòu)集合、對象架構(gòu)集合、對象 對象對象聚合、約束、函數(shù)、過程、隊列、統(tǒng)計信息、聚合、約束、函數(shù)、過程、隊列、統(tǒng)計信息、同義詞、表、視圖同義詞、表、視圖10.1.1基本概念基本概念(3)用戶、數(shù)據(jù)庫用戶、賬戶、賬號、登錄名和用戶、數(shù)據(jù)庫用戶、賬戶、賬號、登錄名和密碼。密碼。n用戶用戶是指能夠在是指能夠在sql server 2005安全機制下,訪問數(shù)據(jù)安全機制下,訪問數(shù)據(jù)庫對象中的數(shù)據(jù)的操作員或客戶。用戶若要訪問數(shù)據(jù)庫庫對象中的數(shù)據(jù)的操作員或客戶。用戶若要訪問數(shù)據(jù)庫對象,必須獲得管理員分配的對象,必須獲得管理員分配的賬號賬號和和密碼密碼。從從sql server 2005管理系統(tǒng)的角度來

6、看,用戶就是一組匹配的管理系統(tǒng)的角度來看,用戶就是一組匹配的賬戶和密碼。賬戶和密碼。n賬戶和賬號賬戶和賬號是一個概念的不同說法,在服務(wù)器中的賬戶是一個概念的不同說法,在服務(wù)器中的賬戶又叫又叫登錄名登錄名(login),因此訪問服務(wù)器也稱為登錄服),因此訪問服務(wù)器也稱為登錄服務(wù)器。服務(wù)器的登錄名可以映射到數(shù)據(jù)庫中成為務(wù)器。服務(wù)器的登錄名可以映射到數(shù)據(jù)庫中成為數(shù)據(jù)庫數(shù)據(jù)庫用戶用戶。一個登錄名可以映射多個數(shù)據(jù)庫用戶,而一個用一個登錄名可以映射多個數(shù)據(jù)庫用戶,而一個用戶只能映射一個登錄名。戶只能映射一個登錄名。10.1.1基本概念基本概念(4)角色)角色(roles)。角色是。角色是sql serve

7、r 2005中管中管理權(quán)限相近的安全賬戶的集合,相當(dāng)于理權(quán)限相近的安全賬戶的集合,相當(dāng)于windows域中的組。域中的組。(5)權(quán)限。)權(quán)限。 權(quán)限是權(quán)限是sql server 2005安全性的最安全性的最后一個級別,實際上是安全機制的設(shè)計者分配后一個級別,實際上是安全機制的設(shè)計者分配給某一個用戶(或角色)訪問數(shù)據(jù)庫時,對數(shù)給某一個用戶(或角色)訪問數(shù)據(jù)庫時,對數(shù)據(jù)對象的可以進(jìn)行的操作集合。要擁有對據(jù)對象的可以進(jìn)行的操作集合。要擁有對sql server 2005上的安全對象的訪問權(quán)限,主體必上的安全對象的訪問權(quán)限,主體必須具有在在數(shù)據(jù)對象上執(zhí)行操作的權(quán)限。須具有在在數(shù)據(jù)對象上執(zhí)行操作的權(quán)限。

8、10.1.1基本概念基本概念(6)身份驗證與授權(quán)。身份驗證)身份驗證與授權(quán)。身份驗證(authentication)是是sql server 2005系統(tǒng)標(biāo)識用戶或進(jìn)程的過程,系統(tǒng)標(biāo)識用戶或進(jìn)程的過程,sql server 2005 中有兩種身份驗證方式:中有兩種身份驗證方式:nwindows身份驗證模式和混合身份驗證模式。身份驗證模式和混合身份驗證模式??蛻舳俗陨肀仨毻ㄟ^服務(wù)器的身份驗證后才客戶端自身必須通過服務(wù)器的身份驗證后才可以請求其他資源。可以請求其他資源。n授權(quán)授權(quán)(authorization)是授予通過身份驗證的是授予通過身份驗證的用戶或進(jìn)程以訪問或修改資源的指定權(quán)限的用戶或進(jìn)程以

9、訪問或修改資源的指定權(quán)限的過程。過程。10.1.3查詢權(quán)限查詢權(quán)限n用戶可以利用用戶可以利用fn_my_permissions函數(shù)查詢用戶函數(shù)查詢用戶的有效權(quán)限,該函數(shù)一般返回調(diào)用對方服務(wù)器的有效權(quán)限,該函數(shù)一般返回調(diào)用對方服務(wù)器的有效權(quán)限列表。的有效權(quán)限列表。nfn_my_permissions函數(shù)語法格式如下:函數(shù)語法格式如下:fn_my_permissions (securable , securable_class) fn_my_permissions 函數(shù)的返回列如表函數(shù)的返回列如表10.1所示所示. 列名列名類型類型說明說明entity_namesysname對其有效授予所列權(quán)限的

10、安全對其有效授予所列權(quán)限的安全對象的名稱。對象的名稱。 subentity_namesysname如果安全對象具有列,則為列如果安全對象具有列,則為列名;否則為名;否則為 null。 permission_namenvarchar權(quán)限的名稱。權(quán)限的名稱。10.1.1基本概念基本概念例例10.1 列出對服務(wù)器的有效權(quán)限。列出對服務(wù)器的有效權(quán)限。程序代碼如下:程序代碼如下:use master goselect * from fn_my_permissions (null, server); go例例10.2 列出對數(shù)據(jù)庫列出對數(shù)據(jù)庫test01的有效權(quán)限的有效權(quán)限程序代碼如下:程序代碼如下:us

11、e test01goselect * from fn_my_permissions (null, database);go10.1.1基本概念基本概念例例10.3 列出對表的有效權(quán)限。列出對表的有效權(quán)限。分析:以下示例返回調(diào)用方對分析:以下示例返回調(diào)用方對teaching數(shù)據(jù)庫內(nèi)數(shù)據(jù)庫內(nèi)dbo架構(gòu)中架構(gòu)中teacher的有效權(quán)限的列表。的有效權(quán)限的列表。程序代碼如下:程序代碼如下:use teaching;goselect * from fn_my_permissions(dbo.teacher, object) order by subentity_name, permission_name

12、 ; 例例10.4列出一個用戶的有效權(quán)限列出一個用戶的有效權(quán)限分析:以下示例返回數(shù)據(jù)庫用戶分析:以下示例返回數(shù)據(jù)庫用戶dbo對對 teaching 數(shù)據(jù)庫內(nèi)數(shù)據(jù)庫內(nèi)dbo架構(gòu)中架構(gòu)中score表的有效權(quán)限的列表。調(diào)用方需要對用戶表的有效權(quán)限的列表。調(diào)用方需要對用戶dbo具有具有 impersonate 權(quán)限。權(quán)限。程序代碼如下:程序代碼如下:execute as user = dbo;select * from fn_my_permissions(dbo.score, object) order by subentity_name, permission_name ; revert;gon服務(wù)

13、器訪問權(quán)限是屬于服務(wù)器訪問權(quán)限是屬于sql server的第的第1個安全層個安全層次,該權(quán)限決定是否允許客戶端訪問服務(wù)器,這個次,該權(quán)限決定是否允許客戶端訪問服務(wù)器,這個安全級別總是由安全級別總是由dba負(fù)責(zé)。負(fù)責(zé)。nsql server 2005支持用支持用windows或或sql server身身份驗證模式來驗證客戶端的身份。份驗證模式來驗證客戶端的身份。10.2.1 sql server 2005的驗證模式的驗證模式nsql server 2005的身份驗證基于的身份驗證基于sql server存儲在主數(shù)存儲在主數(shù)據(jù)庫中的登錄名和密碼??蛻舳吮仨毺峁┑卿浢兔艽a,據(jù)庫中的登錄名和密碼???/p>

14、戶端必須提供登錄名和密碼,才能獲得授權(quán)訪問服務(wù)器。才能獲得授權(quán)訪問服務(wù)器。nsql server的安全性是和的安全性是和windows操作系統(tǒng)集成在一起操作系統(tǒng)集成在一起的,因此的,因此sql server提供了兩種確認(rèn)用戶的驗證模式:提供了兩種確認(rèn)用戶的驗證模式:windows驗證和混合驗證模式。驗證和混合驗證模式。 10.2.1 sql server 2005的驗證模式的驗證模式1. windows身份驗證模式身份驗證模式nsql server數(shù)據(jù)庫系統(tǒng)通常運行在數(shù)據(jù)庫系統(tǒng)通常運行在windows服務(wù)器平服務(wù)器平臺上,其本身就具備管理登錄、驗證用戶合法性的能臺上,其本身就具備管理登錄、驗證

15、用戶合法性的能力,因此力,因此windows 驗證模式正是利用了這一用戶安驗證模式正是利用了這一用戶安全性和賬號管理的機制,允許全性和賬號管理的機制,允許sql server也可以使用也可以使用windows的用戶賬戶和密碼。的用戶賬戶和密碼。n在這種模式下,用戶只需要通過在這種模式下,用戶只需要通過windows的驗證,就的驗證,就可以連接到可以連接到sql server,而,而sql server本身也就不需本身也就不需要管理一套登錄數(shù)據(jù)。要管理一套登錄數(shù)據(jù)。nwindows身份驗證通常被認(rèn)為更安全和更易維護(hù)。身份驗證通常被認(rèn)為更安全和更易維護(hù)。windows身份驗證對于用戶和管理員來說都

16、比較容易身份驗證對于用戶和管理員來說都比較容易管理。管理。10.2.1 sql server 2005的驗證模式的驗證模式2. 混合身份驗證模式混合身份驗證模式n混合驗證模式允許以混合驗證模式允許以sql server驗證模式或者驗證模式或者windows驗驗證模式來進(jìn)行驗證。證模式來進(jìn)行驗證。n混合驗證模式先將客戶機的賬號和密碼與混合驗證模式先將客戶機的賬號和密碼與sql server 2005數(shù)據(jù)庫中存儲的賬號和密碼進(jìn)行比較,如果符合就通數(shù)據(jù)庫中存儲的賬號和密碼進(jìn)行比較,如果符合就通過驗證;如果不符合,則再和過驗證;如果不符合,則再和windows中存儲的賬號和密中存儲的賬號和密碼進(jìn)行比較

17、,如果符合就通過驗證。碼進(jìn)行比較,如果符合就通過驗證。nmicrosoft公司在公司在sql server 2005中對中對sql server身份驗身份驗證作了一些改進(jìn)。例如,證作了一些改進(jìn)。例如,sql server實例可以設(shè)置為需要實例可以設(shè)置為需要安全性更強的口令,以及在指定時間段后要求更新口令。安全性更強的口令,以及在指定時間段后要求更新口令。10.2.1 sql server 2005的驗證模式的驗證模式3更新服務(wù)器的身份驗證機制的步驟更新服務(wù)器的身份驗證機制的步驟(1)在)在“對象資源管理器對象資源管理器”中,右擊中,右擊sql server 2005數(shù)據(jù)庫實例,在彈出的快捷菜單

18、中,選擇數(shù)據(jù)庫實例,在彈出的快捷菜單中,選擇“屬屬性性”命令。命令。(2)在)在“服務(wù)器屬性服務(wù)器屬性”對話框中選擇對話框中選擇“安全性安全性”選選項卡。項卡。(3)在)在“服務(wù)器身份驗證服務(wù)器身份驗證”區(qū)域可以設(shè)置服務(wù)器身區(qū)域可以設(shè)置服務(wù)器身份驗證模式,然后單擊份驗證模式,然后單擊“確定確定”按鈕即可完成設(shè)置。按鈕即可完成設(shè)置。(4)重啟)重啟sql server 2005,即可改變身份驗證模式。,即可改變身份驗證模式。10.2.2服務(wù)器角色服務(wù)器角色nsql server 2005的安全體系結(jié)構(gòu)中包括含的安全體系結(jié)構(gòu)中包括含有特定隱含權(quán)限的兩類預(yù)定義的角色:服有特定隱含權(quán)限的兩類預(yù)定義的角

19、色:服務(wù)器角色和固定數(shù)據(jù)庫角色。務(wù)器角色和固定數(shù)據(jù)庫角色。n服務(wù)器角色是執(zhí)行服務(wù)器管理操作的具有服務(wù)器角色是執(zhí)行服務(wù)器管理操作的具有相近權(quán)限的用戶集合。根據(jù)相近權(quán)限的用戶集合。根據(jù)sql server的的管理任務(wù)和重要性等級來把具有管理任務(wù)和重要性等級來把具有sql server管理職能的用戶劃分到不同的服務(wù)管理職能的用戶劃分到不同的服務(wù)器角色,每一個角色所具有的管理器角色,每一個角色所具有的管理sql server的權(quán)限都是的權(quán)限都是sql server內(nèi)置的。內(nèi)置的。10.2.2服務(wù)器角色服務(wù)器角色n服務(wù)器角色是服務(wù)器級別的主體,可以成服務(wù)器角色是服務(wù)器級別的主體,可以成為服務(wù)器角色的成員

20、以控制服務(wù)器作用域為服務(wù)器角色的成員以控制服務(wù)器作用域中的可保護(hù)對象。表中的可保護(hù)對象。表10.5列出了列出了sql server 2005默認(rèn)創(chuàng)建的服務(wù)器角色及其功默認(rèn)創(chuàng)建的服務(wù)器角色及其功能。能。nsql server 2005的服務(wù)器角色在實例中的的服務(wù)器角色在實例中的位置如圖位置如圖10.8所示。所示。服務(wù)器角色服務(wù)器角色權(quán)限權(quán)限sysadmin 擁有擁有sql server所有的權(quán)限所有的權(quán)限serveradmin管理管理sql server服務(wù)器的配置選項,關(guān)閉服務(wù)器服務(wù)器的配置選項,關(guān)閉服務(wù)器diskadmin管理磁盤文件管理磁盤文件processadmin管理管理sql ser

21、ver系統(tǒng)中運行的進(jìn)程系統(tǒng)中運行的進(jìn)程securityadmin審核審核sql server系統(tǒng)登錄,管理系統(tǒng)登錄,管理create database權(quán)限、讀取錯誤日志和修改密碼權(quán)限、讀取錯誤日志和修改密碼setupadmin管理鏈接服務(wù)器和啟動過程管理鏈接服務(wù)器和啟動過程dbcreator創(chuàng)建、修改和刪除數(shù)據(jù)庫創(chuàng)建、修改和刪除數(shù)據(jù)庫bulkadmin可以執(zhí)行可以執(zhí)行bulk insert語句,進(jìn)行大容量操作語句,進(jìn)行大容量操作10.2.3管理登錄名管理登錄名登錄名就是可以訪問登錄名就是可以訪問sql server數(shù)據(jù)庫系統(tǒng)的賬戶。數(shù)據(jù)庫系統(tǒng)的賬戶。1利用利用sql server manage

22、ment studio創(chuàng)建登錄名創(chuàng)建登錄名(1)啟動)啟動sql server management studio工具后,工具后,在在“對象資源管理器對象資源管理器”下,右擊下,右擊“安全性安全性”下的下的“登錄名登錄名”節(jié)點,在彈出的快捷菜單中選擇節(jié)點,在彈出的快捷菜單中選擇“新新建登錄名建登錄名”命令。命令。(2)在)在“登錄名登錄名-新建新建”界面上,設(shè)置登錄名界面上,設(shè)置登錄名(te_login)、身份驗證模式()、身份驗證模式(sql server身份驗身份驗證)、密碼(證)、密碼(123456)、默認(rèn)數(shù)據(jù)庫()、默認(rèn)數(shù)據(jù)庫(teaching)和語言的類型等,如圖和語言的類型等,如圖

23、10.9所示。所示。10.2.3管理登錄名管理登錄名1利用利用sql server management studio創(chuàng)建登錄名創(chuàng)建登錄名(3)可以選擇)可以選擇“服務(wù)器角色服務(wù)器角色”選項卡,配置登錄的選項卡,配置登錄的服務(wù)器角色,如服務(wù)器角色,如sysadmin。(4)也可以選擇其他選項卡進(jìn)行)也可以選擇其他選項卡進(jìn)行“用戶映射用戶映射”、“安全對象安全對象”和和“狀態(tài)狀態(tài)”的配置。的配置。(5)然后單擊)然后單擊“確定確定”按鈕即可完成登錄名的創(chuàng)建。按鈕即可完成登錄名的創(chuàng)建。(6)可以在)可以在“對象資源管理器對象資源管理器”下查看新建登錄名下查看新建登錄名如圖如圖10.10所示。所示。

24、10.2.3管理登錄名管理登錄名1利用利用sql server management studio創(chuàng)建登錄名創(chuàng)建登錄名(7)右擊登錄名)右擊登錄名te_login,在彈出的快捷菜單中,在彈出的快捷菜單中,選擇選擇“編寫登錄腳本為:編寫登錄腳本為:”|“create到到”|“新查新查詢編輯器窗口詢編輯器窗口”命令,系統(tǒng)將創(chuàng)建登錄名的過程命令,系統(tǒng)將創(chuàng)建登錄名的過程以腳本形式保存下來。由此可知利用以腳本形式保存下來。由此可知利用transact-sql語句創(chuàng)建登錄名的方法。語句創(chuàng)建登錄名的方法。腳本中的主要代碼如下:腳本中的主要代碼如下:create login te_login with pas

25、sword=n123456, default_database=teaching, default_language=簡體中文簡體中文, check_expiration=off, check_policy=offgoexec sys.sp_addsrvrolemember loginame = nte_login, rolename = nsysadmingoalter login te_login disable10.2.3管理登錄名管理登錄名2測試登錄名測試登錄名下面使用下面使用sql server management studio測試新登錄測試新登錄名是否成功連接服務(wù)器。名是否成功連

26、接服務(wù)器。(1)右擊)右擊sql server 中的實例,在快捷菜單中選擇中的實例,在快捷菜單中選擇“連接連接”命令。命令。(2)在彈出的)在彈出的“連接服務(wù)器連接服務(wù)器”界面中,選擇界面中,選擇sql serve身份驗證,然后輸入登錄名和密碼,如圖身份驗證,然后輸入登錄名和密碼,如圖10.11所示。所示。(3)單擊)單擊“連接連接”按鈕可以測試連接是否成功。如圖按鈕可以測試連接是否成功。如圖10.12所示。所示。10.2.3管理登錄名管理登錄名3利用系統(tǒng)過程管理登錄名利用系統(tǒng)過程管理登錄名利用利用master數(shù)據(jù)庫下的下列系統(tǒng)存儲過程數(shù)據(jù)庫下的下列系統(tǒng)存儲過程sp_addlogin、sp_d

27、roplogin、 sp_password也可以用于管理也可以用于管理sql server的登錄名。的登錄名。(1)sp_addlogin 。系統(tǒng)過程。系統(tǒng)過程sp_addlogin可以用于創(chuàng)可以用于創(chuàng)建建sql server登錄名,用戶可以通過該登錄訪問登錄名,用戶可以通過該登錄訪問sql server系統(tǒng),其語法過程如下:系統(tǒng),其語法過程如下:sp_addlogin login_name ,passwd,database ,language 例例10.5 利用系統(tǒng)過程利用系統(tǒng)過程sp_addlogin向向“職員管理職員管理”數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建3個新登錄。個新登錄。sp_addlogin

28、rose, aabbcc, teachinggosp_addlogin hanry, aabbcc, teaching gosp_addlogin pool, aabbcc, teaching go10.2.3管理登錄名管理登錄名3利用系統(tǒng)過程管理登錄名利用系統(tǒng)過程管理登錄名(2)sp_droplogin。利用系統(tǒng)存儲過程。利用系統(tǒng)存儲過程sp_droplogin可以刪除一個現(xiàn)有的可以刪除一個現(xiàn)有的sql server登錄名,登錄名,sp_droplogin系統(tǒng)過程可以通過系統(tǒng)表系統(tǒng)過程可以通過系統(tǒng)表syslogins中刪中刪除相應(yīng)的行來達(dá)到刪除登錄名的目的。除相應(yīng)的行來達(dá)到刪除登錄名的目的。

29、需要注意的是需要注意的是,正在訪問的正在訪問的sql server 2005系統(tǒng)中的任系統(tǒng)中的任何一個數(shù)據(jù)庫的何一個數(shù)據(jù)庫的sql server登錄名是不能被刪除的。登錄名是不能被刪除的。若要刪除某登錄名,必須先利用系統(tǒng)過程若要刪除某登錄名,必須先利用系統(tǒng)過程sp_revokedbaccess刪除相應(yīng)的數(shù)據(jù)庫用戶。刪除相應(yīng)的數(shù)據(jù)庫用戶。10.2.3管理登錄名管理登錄名3利用系統(tǒng)過程管理登錄名利用系統(tǒng)過程管理登錄名(3)sp_password。系統(tǒng)存儲過程。系統(tǒng)存儲過程sp_password為為sql server登錄創(chuàng)建密碼,或替換現(xiàn)有的口令密碼。登錄創(chuàng)建密碼,或替換現(xiàn)有的口令密碼。 利用該過

30、程用戶可以隨時修改自己的口令密碼,系利用該過程用戶可以隨時修改自己的口令密碼,系統(tǒng)管理員通過統(tǒng)管理員通過sp_password可以更改任何口令密碼。可以更改任何口令密碼。 例如:例如: sp_password aabbcc, 112233, hanry 10.2.3管理登錄名管理登錄名4.密碼的復(fù)雜性策略密碼的復(fù)雜性策略sql server 2005的密碼復(fù)雜性策略是指一系列限制密碼復(fù)雜性的密碼復(fù)雜性策略是指一系列限制密碼復(fù)雜性的規(guī)則。密碼復(fù)雜性策略通過增加可能密碼的數(shù)量來阻止強的規(guī)則。密碼復(fù)雜性策略通過增加可能密碼的數(shù)量來阻止強力攻擊。實施密碼復(fù)雜性策略時,新密碼必須符合以下原則:力攻擊。實

31、施密碼復(fù)雜性策略時,新密碼必須符合以下原則:n長度至少有長度至少有6個字符,最多可包含個字符,最多可包含 128 個字符。個字符。n密碼包含以下密碼包含以下4類字符中的類字符中的3類:類: 英文大寫字母英文大寫字母 (a - z) 、英文小寫字母英文小寫字母 (a - z) 、10個基本數(shù)字個基本數(shù)字 (0 - 9) 、非字母數(shù)字、非字母數(shù)字(例如:(例如:!、$、# 或或 %)n字典中查不到,且不是命令名、人名或用戶名,不得包含字典中查不到,且不是命令名、人名或用戶名,不得包含全部或部分用戶名。全部或部分用戶名。n定期更改且與以前的密碼明顯不同的密碼。定期更改且與以前的密碼明顯不同的密碼。1

32、0.2.4管理憑據(jù)管理憑據(jù) 憑據(jù)是包含連接到憑據(jù)是包含連接到 sql server 之外的資源所需的身之外的資源所需的身份驗證信息的記錄。份驗證信息的記錄。 1憑據(jù)的構(gòu)成憑據(jù)的構(gòu)成n大多數(shù)憑據(jù)包含一個大多數(shù)憑據(jù)包含一個 windows 登錄名和密碼。通過憑據(jù),登錄名和密碼。通過憑據(jù),使用使用 sql server身份驗證連接到身份驗證連接到 sql server 的用戶可以的用戶可以連接到連接到 windows 或其他或其他 sql server 以外的資源。以外的資源。n 在創(chuàng)建憑據(jù)之后,可以將憑據(jù)映射到登錄名。單個憑據(jù)在創(chuàng)建憑據(jù)之后,可以將憑據(jù)映射到登錄名。單個憑據(jù)可映射到多個可映射到多個

33、sql server 登錄名,但是一個登錄名,但是一個sql server 登錄名只能映射到一個憑據(jù)。登錄名只能映射到一個憑據(jù)。n系統(tǒng)憑據(jù)是自動創(chuàng)建的,并與特定端點關(guān)聯(lián),其名稱以系統(tǒng)憑據(jù)是自動創(chuàng)建的,并與特定端點關(guān)聯(lián),其名稱以 # 開頭。開頭。10.2.4管理憑據(jù)管理憑據(jù) 2. 創(chuàng)建憑據(jù)的過程創(chuàng)建憑據(jù)的過程下面介紹創(chuàng)建憑據(jù)平局下面介紹創(chuàng)建憑據(jù)平局pingju的一般步驟。的一般步驟。(1)在)在“對象資源管理器對象資源管理器”下,右擊下,右擊“安全性安全性”下的下的“憑據(jù)憑據(jù)”節(jié)點,在彈出的快捷菜單中選擇節(jié)點,在彈出的快捷菜單中選擇“新建憑新建憑據(jù)據(jù)”命令命令。(2)在彈出的)在彈出的“新建憑據(jù)

34、新建憑據(jù)”對話框中,輸入憑據(jù)名稱對話框中,輸入憑據(jù)名稱(pingju)、標(biāo)識()、標(biāo)識(jiang-n9vjwxj11 administrator)和密碼,如圖)和密碼,如圖10.13所示,即可完成所示,即可完成創(chuàng)建憑據(jù)的操作。創(chuàng)建憑據(jù)的操作。10.2.4管理憑據(jù)管理憑據(jù) 2. 創(chuàng)建憑據(jù)的過程創(chuàng)建憑據(jù)的過程例例10.6 在在 sys.credentials 目錄視圖中查看憑據(jù)的有關(guān)目錄視圖中查看憑據(jù)的有關(guān)信息。信息。分析:用戶可以利用分析:用戶可以利用select語句在語句在sys.credentials目目錄視圖中查看憑據(jù)的相關(guān)信息。錄視圖中查看憑據(jù)的相關(guān)信息。程序代碼如下:程序代碼如下:s

35、elect * from sys.credentials例例10.7 創(chuàng)建映射到憑據(jù)的登錄名創(chuàng)建映射到憑據(jù)的登錄名分析:創(chuàng)建一個登錄名分析:創(chuàng)建一個登錄名user1,然后將其,然后將其映射到憑據(jù)映射到憑據(jù)pingju。程序代碼如下:程序代碼如下:create login user1 with password=1a2b3c4d creential=pingjugo 訪問一個服務(wù)器并不意味著用戶自動擁有數(shù)訪問一個服務(wù)器并不意味著用戶自動擁有數(shù)據(jù)庫的訪問權(quán)限。據(jù)庫的訪問權(quán)限。dba以下列方式之一指定一個以下列方式之一指定一個數(shù)據(jù)庫登錄用戶:數(shù)據(jù)庫登錄用戶:n在每個用戶需要訪問的數(shù)據(jù)庫中,創(chuàng)建一個與

36、在每個用戶需要訪問的數(shù)據(jù)庫中,創(chuàng)建一個與用戶登錄名對應(yīng)的數(shù)據(jù)庫用戶。用戶登錄名對應(yīng)的數(shù)據(jù)庫用戶。n將數(shù)據(jù)庫配置為把登錄名或數(shù)據(jù)庫用戶作為數(shù)將數(shù)據(jù)庫配置為把登錄名或數(shù)據(jù)庫用戶作為數(shù)據(jù)庫角色的成員對待的方式,使得用戶能夠繼據(jù)庫角色的成員對待的方式,使得用戶能夠繼承角色中的所有權(quán)限。承角色中的所有權(quán)限。n將登錄名設(shè)置為使用默認(rèn)賬戶之一:將登錄名設(shè)置為使用默認(rèn)賬戶之一:guest或或dbo(數(shù)據(jù)庫擁有者)。(數(shù)據(jù)庫擁有者)。一旦授予了對數(shù)據(jù)庫的訪問權(quán)限,用戶就可以看到一旦授予了對數(shù)據(jù)庫的訪問權(quán)限,用戶就可以看到所有數(shù)據(jù)庫對象。所有數(shù)據(jù)庫對象。 10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色數(shù)據(jù)庫角色是在數(shù)據(jù)庫級別

37、定義的,并且存在于每數(shù)據(jù)庫角色是在數(shù)據(jù)庫級別定義的,并且存在于每個數(shù)據(jù)庫中,是對數(shù)據(jù)庫對象操作權(quán)限的集合。個數(shù)據(jù)庫中,是對數(shù)據(jù)庫對象操作權(quán)限的集合。sql server 2005的數(shù)據(jù)庫角色分為固定數(shù)據(jù)庫角的數(shù)據(jù)庫角色分為固定數(shù)據(jù)庫角色和用戶自定義數(shù)據(jù)庫角色。后者又分為標(biāo)準(zhǔn)角色和用戶自定義數(shù)據(jù)庫角色。后者又分為標(biāo)準(zhǔn)角色和應(yīng)用程序角色兩種。色和應(yīng)用程序角色兩種。1固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色n固定數(shù)據(jù)庫角色是數(shù)據(jù)庫級別的主體,可以管理固定數(shù)據(jù)庫角色是數(shù)據(jù)庫級別的主體,可以管理數(shù)據(jù)庫作用域的可保護(hù)對象,其中,數(shù)據(jù)庫作用域的可保護(hù)對象,其中,public公有公有角色比較特殊。角色比較特殊。n每個被授

38、予對數(shù)據(jù)庫的訪問權(quán)限的用戶會自動成每個被授予對數(shù)據(jù)庫的訪問權(quán)限的用戶會自動成為公有角色的成員,并繼承授予它的權(quán)限。為公有角色的成員,并繼承授予它的權(quán)限。10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色1固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色一般情況下,一般情況下,public角色允許用戶做以下操作:角色允許用戶做以下操作:npublic角色為數(shù)據(jù)庫中所有用戶保持默認(rèn)權(quán)限。當(dāng)角色為數(shù)據(jù)庫中所有用戶保持默認(rèn)權(quán)限。當(dāng)尚未對某個用戶授予或拒絕對安全對象的特定權(quán)限尚未對某個用戶授予或拒絕對安全對象的特定權(quán)限時,則該用戶將繼承授予該安全對象的時,則該用戶將繼承授予該安全對象的 public 角色角色的權(quán)限。的權(quán)限。n通過通過gu

39、est賬戶訪問任意數(shù)據(jù)庫。賬戶訪問任意數(shù)據(jù)庫。n用某些系統(tǒng)存儲過程顯示用某些系統(tǒng)存儲過程顯示master數(shù)據(jù)庫中的信息,數(shù)據(jù)庫中的信息,查看系統(tǒng)表。查看系統(tǒng)表。n執(zhí)行一些不需要權(quán)限的語句,例如執(zhí)行一些不需要權(quán)限的語句,例如print。表表10.6具體列出了所有數(shù)據(jù)庫角色的功能。具體列出了所有數(shù)據(jù)庫角色的功能。固定服務(wù)器角色固定服務(wù)器角色 功能簡介功能簡介public維護(hù)全部默認(rèn)權(quán)限維護(hù)全部默認(rèn)權(quán)限db_denydatawriter不能對數(shù)據(jù)庫中的任何表執(zhí)行增加、不能對數(shù)據(jù)庫中的任何表執(zhí)行增加、修改和刪除數(shù)據(jù)操作修改和刪除數(shù)據(jù)操作db_denydatareader不能讀取數(shù)據(jù)庫中任何表中的數(shù)據(jù)不

40、能讀取數(shù)據(jù)庫中任何表中的數(shù)據(jù)db_datawriter 能夠增加、修改和刪除表中的數(shù)據(jù)能夠增加、修改和刪除表中的數(shù)據(jù)db_datareader能且僅能對數(shù)據(jù)庫中的任何表執(zhí)行能且僅能對數(shù)據(jù)庫中的任何表執(zhí)行select操作,讀取所有表的信息操作,讀取所有表的信息db_backupoperator可以發(fā)出可以發(fā)出dbcc、checkpoint和和backup語句語句db_securityadmin可以管理全部權(quán)限、對象所有權(quán)、角可以管理全部權(quán)限、對象所有權(quán)、角色和用戶色和用戶db_addladmin可以發(fā)出可以發(fā)出all ddl但不能使用但不能使用grant、revoke或或deny語句語句db_a

41、ccessadmin可以增加或者刪除用戶標(biāo)識可以增加或者刪除用戶標(biāo)識db_owner數(shù)據(jù)庫的所有者,可以對所擁有的數(shù)據(jù)庫的所有者,可以對所擁有的數(shù)據(jù)庫執(zhí)行任何操作數(shù)據(jù)庫執(zhí)行任何操作10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色1固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色對于某個數(shù)據(jù)庫而言,每一個數(shù)據(jù)庫角色都有它對于某個數(shù)據(jù)庫而言,每一個數(shù)據(jù)庫角色都有它特定的許可。可以用系統(tǒng)過程特定的許可??梢杂孟到y(tǒng)過程sp_dbfixdrolepermission來查看每一個固定數(shù)據(jù)來查看每一個固定數(shù)據(jù)庫角色的許可。如果不指定庫角色的許可。如果不指定role的值,所有固定的值,所有固定服務(wù)器角色的許可都會顯示出來。服務(wù)器角色的許可都會

42、顯示出來。這個存儲過程的語法結(jié)構(gòu)為:這個存儲過程的語法結(jié)構(gòu)為:sp_dbfixedrolepermission rolename=role例如:例如: exec sp_dbfixedrolepermission db_ddladmin10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色2. 自定義數(shù)據(jù)庫角色自定義數(shù)據(jù)庫角色可以創(chuàng)建一個數(shù)據(jù)庫角色,并賦予對數(shù)據(jù)庫作用域和架構(gòu)可以創(chuàng)建一個數(shù)據(jù)庫角色,并賦予對數(shù)據(jù)庫作用域和架構(gòu)作用域的可保護(hù)對象的訪問權(quán)限。一個用戶可以是若作用域的可保護(hù)對象的訪問權(quán)限。一個用戶可以是若干個數(shù)據(jù)庫角色的成員。干個數(shù)據(jù)庫角色的成員。創(chuàng)建角色的步驟如下創(chuàng)建角色的步驟如下(1)在)在“對象資源

43、管理器對象資源管理器”下,展開數(shù)據(jù)庫下,展開數(shù)據(jù)庫teaching,右擊右擊“安全性安全性”|“角色角色”,在彈出的快捷菜單中選擇,在彈出的快捷菜單中選擇“新建新建”|“數(shù)據(jù)庫角色數(shù)據(jù)庫角色”命令。命令。(2)在彈出的)在彈出的“數(shù)據(jù)庫角色數(shù)據(jù)庫角色-新建新建”窗體中的窗體中的“常規(guī)常規(guī)”選選項卡中,輸入角色名項卡中,輸入角色名jsj09、所有者名、所有者名te_login,并選擇,并選擇架構(gòu),如圖架構(gòu),如圖10.15所示。所示。10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色2. 自定義數(shù)據(jù)庫角色自定義數(shù)據(jù)庫角色創(chuàng)建角色的步驟如下創(chuàng)建角色的步驟如下(3)在)在“安全對象安全對象”選項卡中,單擊選項卡中,單

44、擊“添加添加”按鈕,在彈出的按鈕,在彈出的“添加對象添加對象”對話框中,選擇對話框中,選擇其中一項,如其中一項,如“特定對象。特定對象。(4)單擊)單擊“確定確定”按鈕,按照示例提示選擇數(shù)按鈕,按照示例提示選擇數(shù)據(jù)對象。據(jù)對象。(5)單擊)單擊“確定確定”按鈕,返回如圖按鈕,返回如圖10.18所示的所示的“安全對象安全對象”選項卡中為表設(shè)置權(quán)限后。單擊選項卡中為表設(shè)置權(quán)限后。單擊“確定確定”按鈕,數(shù)據(jù)庫角色按鈕,數(shù)據(jù)庫角色jsj09創(chuàng)建完畢。創(chuàng)建完畢。10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色3. 應(yīng)用程序角色應(yīng)用程序角色應(yīng)用程序角色應(yīng)用程序角色(application role)是在沒有成員的是在沒

45、有成員的數(shù)據(jù)庫級別上定義的,數(shù)據(jù)庫級別上定義的,microsoft創(chuàng)建應(yīng)用程序創(chuàng)建應(yīng)用程序角色目的是防止用戶直接訪問底層表數(shù)據(jù)。應(yīng)角色目的是防止用戶直接訪問底層表數(shù)據(jù)。應(yīng)用程序角色可以加強對某一個特別的應(yīng)用程序用程序角色可以加強對某一個特別的應(yīng)用程序的安全性。的安全性。例如,某公司職員只是用某個特定的應(yīng)用程序來例如,某公司職員只是用某個特定的應(yīng)用程序來修改員工數(shù)據(jù)信息,那么就可以為其建立應(yīng)用修改員工數(shù)據(jù)信息,那么就可以為其建立應(yīng)用程序角色。程序角色。10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色3. 應(yīng)用程序角色應(yīng)用程序角色應(yīng)用程序角色和所有其他的角色都有很大不同。應(yīng)用程序角色和所有其他的角色都有很大不同

46、。n應(yīng)用程序角色沒有成員,因為它們只是應(yīng)用程序中使應(yīng)用程序角色沒有成員,因為它們只是應(yīng)用程序中使用,所以不需要直接對某些用戶賦予權(quán)限。用,所以不需要直接對某些用戶賦予權(quán)限。n必須為應(yīng)用程序角色設(shè)計一個密碼以激活它。當(dāng)應(yīng)用必須為應(yīng)用程序角色設(shè)計一個密碼以激活它。當(dāng)應(yīng)用程序角色被應(yīng)用程序的會話激活以后,會話就會失去程序角色被應(yīng)用程序的會話激活以后,會話就會失去所有屬于登錄、用戶賬號或角色的權(quán)限,會話只能通所有屬于登錄、用戶賬號或角色的權(quán)限,會話只能通過過guest 用戶賬號的權(quán)限來訪問其他數(shù)據(jù)庫。用戶賬號的權(quán)限來訪問其他數(shù)據(jù)庫。n如果在數(shù)據(jù)庫中沒有如果在數(shù)據(jù)庫中沒有g(shù)uest 用戶賬號的話,會話就

47、不能用戶賬號的話,會話就不能獲得訪問數(shù)據(jù)庫的權(quán)限。獲得訪問數(shù)據(jù)庫的權(quán)限。10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色3. 應(yīng)用程序角色應(yīng)用程序角色(1)利用)利用sql server management studio創(chuàng)建應(yīng)創(chuàng)建應(yīng)用程序角色的步驟用程序角色的步驟 在在“對象資源管理器對象資源管理器”下,展開數(shù)據(jù)庫下,展開數(shù)據(jù)庫teaching,右擊,右擊“安全性安全性”|“角色角色”,在彈出的,在彈出的快捷菜單中選擇快捷菜單中選擇“新建新建”|“應(yīng)用程序角色應(yīng)用程序角色”命命令。令。 在彈出的在彈出的“應(yīng)用程序角色應(yīng)用程序角色-新建新建”對話框的對話框的“常規(guī)常規(guī)”選項卡中,輸入角色名稱、默認(rèn)架構(gòu)選項卡

48、中,輸入角色名稱、默認(rèn)架構(gòu)和密碼,如圖和密碼,如圖10.19所示。所示。10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色3. 應(yīng)用程序角色應(yīng)用程序角色(1)利用)利用sql server management studio創(chuàng)建應(yīng)用程序創(chuàng)建應(yīng)用程序角色的步驟角色的步驟 參照創(chuàng)建數(shù)據(jù)庫角色時的步驟設(shè)置參照創(chuàng)建數(shù)據(jù)庫角色時的步驟設(shè)置“安全對象安全對象”選項選項卡后,單擊卡后,單擊“確定確定”按鈕,應(yīng)用程序角色建成。按鈕,應(yīng)用程序角色建成。 查看創(chuàng)建應(yīng)用程序角色的腳本,應(yīng)用程序角色查看創(chuàng)建應(yīng)用程序角色的腳本,應(yīng)用程序角色jsj10的的腳本如下:腳本如下:use teachinggocreate applicatio

49、n role jsj10 with default_schema = dbo, password = naaaaaa10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色3. 應(yīng)用程序角色應(yīng)用程序角色(2)使用系統(tǒng)過程)使用系統(tǒng)過程sp_addapprole來創(chuàng)建應(yīng)用程序角色,來創(chuàng)建應(yīng)用程序角色,并且賦予它們權(quán)限,這個過程的語法結(jié)構(gòu)為:并且賦予它們權(quán)限,這個過程的語法結(jié)構(gòu)為: sp_addapprolerolenamerolepasswd_name=password(3)激活應(yīng)用程序角色)激活應(yīng)用程序角色:當(dāng)一個連接啟動以后,必須執(zhí)行當(dāng)一個連接啟動以后,必須執(zhí)行系統(tǒng)過程系統(tǒng)過程sp_setapprole來激活應(yīng)用

50、程序角色所擁有的權(quán)來激活應(yīng)用程序角色所擁有的權(quán)限。這個過程的語法結(jié)構(gòu)為:限。這個過程的語法結(jié)構(gòu)為:sp_setapprole rolenamerolepasswd=password ,encrypt=encrypt_style例如,激活應(yīng)用程序角色例如,激活應(yīng)用程序角色jsj10的命令如下:的命令如下:exec sp_setapprole jsj10, aaaaaa當(dāng)用系統(tǒng)存儲過程當(dāng)用系統(tǒng)存儲過程sp_setapprole激活應(yīng)用程序角激活應(yīng)用程序角色的時候,可以了解到應(yīng)用程序角色總是和數(shù)據(jù)庫色的時候,可以了解到應(yīng)用程序角色總是和數(shù)據(jù)庫綁定的,即應(yīng)用的范圍是當(dāng)前數(shù)據(jù)庫,如果在會話綁定的,即應(yīng)用

51、的范圍是當(dāng)前數(shù)據(jù)庫,如果在會話中改變了當(dāng)前數(shù)據(jù)庫,那么你就只能做那個數(shù)據(jù)庫中改變了當(dāng)前數(shù)據(jù)庫,那么你就只能做那個數(shù)據(jù)庫中允許的操作。中允許的操作。10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色4管理數(shù)據(jù)庫架構(gòu)管理數(shù)據(jù)庫架構(gòu)架構(gòu)架構(gòu)(schema)是管理數(shù)據(jù)對象的邏輯單位,是形是管理數(shù)據(jù)對象的邏輯單位,是形成單個命名空間的數(shù)據(jù)庫對象的集合。成單個命名空間的數(shù)據(jù)庫對象的集合。多個用戶可以共享一個默認(rèn)架構(gòu)以進(jìn)行統(tǒng)一名稱多個用戶可以共享一個默認(rèn)架構(gòu)以進(jìn)行統(tǒng)一名稱解析。開發(fā)人員通過共享默認(rèn)架構(gòu)可以將共享解析。開發(fā)人員通過共享默認(rèn)架構(gòu)可以將共享對象存儲在為特定應(yīng)用程序?qū)iT創(chuàng)建的架構(gòu)中,對象存儲在為特定應(yīng)用程序?qū)iT創(chuàng)建

52、的架構(gòu)中,而不是而不是 dbo 架構(gòu)中。架構(gòu)中。sql server 2005在引入架構(gòu)后,訪問數(shù)據(jù)庫對象在引入架構(gòu)后,訪問數(shù)據(jù)庫對象的完全限定模式為:的完全限定模式為:sever.database.schema.object10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色4管理數(shù)據(jù)庫架構(gòu)管理數(shù)據(jù)庫架構(gòu)下面介紹創(chuàng)建數(shù)據(jù)庫架構(gòu)的步驟。下面介紹創(chuàng)建數(shù)據(jù)庫架構(gòu)的步驟。(1)在)在“對象資源管理器對象資源管理器”下,展開數(shù)據(jù)庫下,展開數(shù)據(jù)庫teaching,右擊,右擊“安全性安全性”|“架構(gòu)架構(gòu)”,在快捷菜單中選擇,在快捷菜單中選擇“新建架構(gòu)新建架構(gòu)”命令。命令。(2)在彈出的)在彈出的“架構(gòu)架構(gòu)-新建新建”窗體中

53、的窗體中的“常規(guī)常規(guī)”選項卡中,輸選項卡中,輸入架構(gòu)名入架構(gòu)名schema1、架構(gòu)所有者名、架構(gòu)所有者名public。(3)在)在“權(quán)限權(quán)限”選項卡中,單擊選項卡中,單擊“添加添加”按鈕,在彈出的按鈕,在彈出的“選擇用戶和角色選擇用戶和角色”對話框中,選擇對象類型和對象。對話框中,選擇對象類型和對象。(4)單擊)單擊“確定確定”按鈕,在如圖按鈕,在如圖10.22所示的所示的“權(quán)限權(quán)限”選項卡選項卡中為用戶和角色設(shè)置權(quán)限后。單擊中為用戶和角色設(shè)置權(quán)限后。單擊“確定確定”按鈕,數(shù)據(jù)庫架按鈕,數(shù)據(jù)庫架構(gòu)構(gòu)schema1創(chuàng)建完畢。創(chuàng)建完畢。10.3.1 數(shù)據(jù)庫角色數(shù)據(jù)庫角色4管理數(shù)據(jù)庫架構(gòu)管理數(shù)據(jù)庫架

54、構(gòu)下面介紹創(chuàng)建數(shù)據(jù)庫架構(gòu)的步驟。下面介紹創(chuàng)建數(shù)據(jù)庫架構(gòu)的步驟。(5)對)對“架構(gòu)架構(gòu)”項進(jìn)行刷新,即可觀察到新建的架構(gòu)項進(jìn)行刷新,即可觀察到新建的架構(gòu)schema1。還可以通過執(zhí)行創(chuàng)建腳本的操作查看創(chuàng)建架構(gòu)的代碼。還可以通過執(zhí)行創(chuàng)建腳本的操作查看創(chuàng)建架構(gòu)的代碼。同樣同樣:n也可以通過也可以通過sql server management studio圖形工具和圖形工具和transact-sql命令對架構(gòu)進(jìn)行修改和刪除。命令對架構(gòu)進(jìn)行修改和刪除。n在在sql server 2005中,多個用戶可以通過角色和成員身份擁中,多個用戶可以通過角色和成員身份擁有一個架構(gòu),可以對該架構(gòu)進(jìn)行安全權(quán)限的設(shè)置。有

55、一個架構(gòu),可以對該架構(gòu)進(jìn)行安全權(quán)限的設(shè)置。n多個用戶可以共享一個默認(rèn)架構(gòu),進(jìn)行統(tǒng)一的名稱解析。刪多個用戶可以共享一個默認(rèn)架構(gòu),進(jìn)行統(tǒng)一的名稱解析。刪除數(shù)據(jù)庫用戶不必再修改和測試顯示引用這些對象的應(yīng)用程除數(shù)據(jù)庫用戶不必再修改和測試顯示引用這些對象的應(yīng)用程序。序。10.3.2 管理數(shù)據(jù)庫用戶管理數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶是訪問某個特定數(shù)據(jù)庫的主體。數(shù)據(jù)庫用戶是訪問某個特定數(shù)據(jù)庫的主體。1利用利用sql server management studio創(chuàng)建創(chuàng)建數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶(1)在)在“對象資源管理器對象資源管理器”下,展開數(shù)據(jù)庫下,展開數(shù)據(jù)庫teaching,右擊,右擊“安全性安全性”|“用戶用戶

56、”,在彈,在彈出的快捷菜單中選擇出的快捷菜單中選擇“新建新建”|“用戶用戶”命令。命令。(2)在彈出的)在彈出的“數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶-新建新建”窗體中的窗體中的“常規(guī)常規(guī)”選項卡中,輸入用戶名選項卡中,輸入用戶名hans、選擇、選擇登錄名登錄名te_login,并選擇架構(gòu),如圖,并選擇架構(gòu),如圖10.23所所示。也可以指定示。也可以指定“默認(rèn)架構(gòu)默認(rèn)架構(gòu)”項。項。 10.3.2 管理數(shù)據(jù)庫用戶管理數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶是訪問某個特定數(shù)據(jù)庫的主體。數(shù)據(jù)庫用戶是訪問某個特定數(shù)據(jù)庫的主體。1利用利用sql server management studio創(chuàng)建創(chuàng)建數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶(3)在)在“安全

57、對象安全對象”選項卡中,添加用戶的安全對選項卡中,添加用戶的安全對象。象。(4)單擊)單擊“腳本腳本”按鈕,可以生成如下腳本代碼:按鈕,可以生成如下腳本代碼:(5)單擊)單擊“確定確定”按鈕,數(shù)據(jù)庫用戶按鈕,數(shù)據(jù)庫用戶hans創(chuàng)建完畢。創(chuàng)建完畢。10.3.2 管理數(shù)據(jù)庫用戶管理數(shù)據(jù)庫用戶2利用利用transact-sql命令創(chuàng)建數(shù)據(jù)庫用戶命令創(chuàng)建數(shù)據(jù)庫用戶向當(dāng)前數(shù)據(jù)庫添加用戶的向當(dāng)前數(shù)據(jù)庫添加用戶的transact-sql 語法如下:語法如下:create user user_name for | from login login_name | certificate cert_name |

58、asymmetric key asym_key_name | without login with default_schema = schema_name 例例10.8 在在teaching數(shù)據(jù)庫中創(chuàng)建用戶數(shù)據(jù)庫中創(chuàng)建用戶abolcreate login abol with password = 327shy;use teaching;create user abol;go10.3.3 特殊用戶特殊用戶所有所有 sql server 2005數(shù)據(jù)庫中均提供的一種數(shù)據(jù)庫中均提供的一種特殊用戶,不能從任何數(shù)據(jù)庫中刪除該用戶。特殊用戶,不能從任何數(shù)據(jù)庫中刪除該用戶。1guest用戶用戶guest(

59、游客)用戶在默認(rèn)情況下存在于所有(游客)用戶在默認(rèn)情況下存在于所有數(shù)據(jù)庫,且是禁用的。授予數(shù)據(jù)庫,且是禁用的。授予guest用戶的權(quán)用戶的權(quán)限由在數(shù)據(jù)庫中沒有賬號的用戶繼承。限由在數(shù)據(jù)庫中沒有賬號的用戶繼承。10.3.3 特殊用戶特殊用戶1guest用戶用戶guest用戶還具有如下特點:用戶還具有如下特點:(1)guest 用戶不能刪除,但可以通過在用戶不能刪除,但可以通過在 master 和和 temp 以外的任何數(shù)據(jù)庫中執(zhí)行以外的任何數(shù)據(jù)庫中執(zhí)行 revoke connect from guest來撤消該用戶的來撤消該用戶的connect 權(quán)限,從而禁用該用戶。權(quán)限,從而禁用該用戶。(2)

60、guest用戶允許沒有賬號的用戶訪問數(shù)據(jù)庫。用戶允許沒有賬號的用戶訪問數(shù)據(jù)庫。(3)應(yīng)用程序角色是數(shù)據(jù)庫級別的主體,只能通)應(yīng)用程序角色是數(shù)據(jù)庫級別的主體,只能通過其他數(shù)據(jù)庫中授予過其他數(shù)據(jù)庫中授予guest 用戶的權(quán)限來訪問這用戶的權(quán)限來訪問這些數(shù)據(jù)庫。因此,任何已禁用些數(shù)據(jù)庫。因此,任何已禁用guest用戶的數(shù)據(jù)庫用戶的數(shù)據(jù)庫對其他數(shù)據(jù)庫中的應(yīng)用程序角色都是不可訪問的。對其他數(shù)據(jù)庫中的應(yīng)用程序角色都是不可訪問的。10.3.3 特殊用戶特殊用戶2dbo用戶用戶dbo是具有在數(shù)據(jù)庫中執(zhí)行所有活動的暗示性權(quán)限的用戶。是具有在數(shù)據(jù)庫中執(zhí)行所有活動的暗示性權(quán)限的用戶。固定服務(wù)器角色固定服務(wù)器角色sy

溫馨提示

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

評論

0/150

提交評論