版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、8.18.28.38.48.58.6sql server 2008的身份驗證模式的身份驗證模式建立和管理用戶賬戶建立和管理用戶賬戶服務(wù)器角色與數(shù)據(jù)庫角色服務(wù)器角色與數(shù)據(jù)庫角色數(shù)據(jù)庫權(quán)限的管理數(shù)據(jù)庫權(quán)限的管理數(shù)據(jù)庫架構(gòu)的定義和使用數(shù)據(jù)庫架構(gòu)的定義和使用綜合應(yīng)用訓練綜合應(yīng)用訓練sql server 2008的身份認證模式是指系統(tǒng)確認用戶的方式。sql server2008有兩種身份認證模式:windows驗證模式和sql server驗證模式,圖8.1給出了這兩種方式登錄sql server服務(wù)器的情形。圖8.1 兩種驗證方式登錄sql server服務(wù)器的情形1windows驗證模式用戶登錄wi
2、ndows時進行身份驗證,登錄sql server時就不再進行身份驗證。以下是對于windows驗證模式登錄的幾點重要說明:(1)必須將windows賬戶加入到sql server中,才能采用windows賬戶登錄sql server。(2)如果使用windows賬戶登錄到另一個網(wǎng)絡(luò)的sql server,必須在windows中設(shè)置彼此的托管權(quán)限。2sql server認證模式在sql server驗證模式下,sql server服務(wù)器要對登錄的用戶進行身份驗證。當sql server在windows操作系統(tǒng)上運行時,系統(tǒng)管理員設(shè)定登錄驗證模式的類型可為windows驗證模式和混合模式。當采用
3、混合模式時,sql server系統(tǒng)既允許使用windows登錄賬號登錄,也允許使用sql server登錄賬號登錄。8.2.1界面方式管理用戶賬戶界面方式管理用戶賬戶1建立windows驗證模式的登錄名對于windows操作系統(tǒng),安裝本地sql server 2008的過程中,允許選擇驗證模式。例如,安裝時選擇windows身份驗證方式,在此情況下,如果要增加一個windows的新用戶liu,如何授權(quán)該用戶,使其能通過信任連接訪問sql server呢?步驟如下(在此以windows xp為例):(1)創(chuàng)建windows的用戶。以管理員身份登錄到windows xp,選擇“開始”打開“控制面
4、板”中的“性能和維護”選擇其中的“管理工具”雙擊“計算機管理”,進入“計算機管理”窗口。在該窗口中選擇“本地用戶和組”中的“用戶”圖標右擊,在彈出的快捷菜單中選擇 “新用戶”菜單項,打開“新用戶”窗口。如圖8.2所示,在該窗口中輸入用戶名、密碼,單擊“創(chuàng)建”按鈕,然后單擊“關(guān)閉”按鈕,完成新用戶的創(chuàng)建。 輸入密碼 用戶名 圖8.2 創(chuàng)建新用戶的界面 (2)將windows賬戶加入到sql server中。以管理員身份登錄到sql server management studio,在“對象資源管理器”中,找到并選擇如圖8.3所示的“登錄名”項。 圖8.3 新建登錄名右擊鼠標,在彈出的快捷菜單中選
5、擇“新建登錄名”,打開“登錄名-新建”窗口。如圖8.4所示,可以通過單擊“常規(guī)”選項卡的“搜索”按鈕,在“選擇用戶或組”對話框中選擇相應(yīng)的用戶名或用戶組添加到sql server 2008登錄用戶列表中。例如,本例的用戶名為:0bd7e57c949a420liu(0bd7e57c949a420為本地計算機名)。 單擊此處 選擇此項 此處選擇 默認數(shù)據(jù)庫 圖8.4 新建登錄名2建立sql server驗證模式的登錄名要建立sql server驗證模式的登錄名,首先應(yīng)將驗證模式設(shè)置為混合模式。如果用戶在安裝sql server時驗證模式?jīng)]有設(shè)置為混合模式,則先要將驗證模式設(shè)為混合模式。步驟如下:(
6、1)以系統(tǒng)管理員身份登錄sql server management studio,在“對象資源管理器”中選擇要登錄的sql server服務(wù)器圖標,右擊鼠標,在彈出的快捷菜單中選擇“屬性”菜單項,打開“服務(wù)器屬性”窗口。(2)在打開的“服務(wù)器屬性”窗口中選擇“安全性”選項卡。選擇服務(wù)器身份驗證為“sql server和windows身份驗證模式”,單擊“確定”按鈕,保存新的配置,重啟sql server服務(wù)即可。創(chuàng)建sql server驗證模式的登錄名也在如圖8.4所示的界面中進行,輸入一個自己定義的登錄名,例如david,選中“sql server身份驗證”選項,輸入密碼,并將“強制密碼過期
7、”復選框中的勾去掉,設(shè)置完單擊“確定”按鈕即可。為了測試創(chuàng)建的登錄名能否連接sql server,可以使用新建的登錄名david來進行測試,具體步驟如下:在“對象資源管理器”窗口中單擊“連接”,在下拉框中選擇“數(shù)據(jù)庫引擎”,彈出“連接到服務(wù)器”對話框。在該對話框中,“身份驗證”選擇“sql server身份驗證”,“登錄名”填寫david,輸入密碼,單擊“連接”按鈕,就能連接sql server了。登錄后的“對象資源管理器”界面如圖8.5所示。圖8.5 使用sql server驗證方式登錄3管理數(shù)據(jù)庫用戶使用ssms創(chuàng)建數(shù)據(jù)庫用戶賬戶的步驟如下(以xsbook數(shù)據(jù)庫為例):以系統(tǒng)管理員身份連接
8、sql server,展開“數(shù)據(jù)庫”“xsbook”“安全性”選擇“用戶”,右擊鼠標,選擇“新建用戶”菜單項,進入“數(shù)據(jù)庫用戶-新建”窗口。在“用戶名”框中填寫一個數(shù)據(jù)庫用戶名,“登錄名”框中填寫一個能夠登錄sql server的登錄名,如david。注意:一個登錄名在本數(shù)據(jù)庫中只能創(chuàng)建一個數(shù)據(jù)庫用戶。選擇默認架構(gòu)為dbo,如圖8.6所示,單擊“確定”按鈕完成創(chuàng)建。圖8.6 新建數(shù)據(jù)庫用戶賬戶1創(chuàng)建登錄名在sql server 2008中,創(chuàng)建登錄名可以使用create login命令。語法格式:create login login_name with password = password
9、hashed must_change , ,. /*with子句用于創(chuàng)建sql server登錄名*/| from/*from子句用戶創(chuàng)建其他登錄名*/ windows with ,. | certificate certname | asymmetric key asym_key_name 其中: := sid = sid | default_database = database | default_language = language | check_expiration = on | off | check_policy = on | off credential = credent
10、ial_name := default_database = database | default_language = language(1)創(chuàng)建windows驗證模式登錄名。創(chuàng)建windows登錄名使用from子句,在from子句的語法格式中,windows關(guān)鍵字指定將登錄名映射到windows登錄名,其中,為創(chuàng)建windows登錄名的選項,default_database指定默認數(shù)據(jù)庫,default_language指定默認語言?!纠?.1】 使用命令方式創(chuàng)建windows登錄名tao(假設(shè)windows用戶tao已經(jīng)創(chuàng)建,本地計算機名為0bd7e57c949a420),默認數(shù)據(jù)庫設(shè)為
11、xsbook。use mastergocreate login 0bd7e57c949a420taofrom windows with default_database= xsbook命令執(zhí)行成功后在“登錄名”“安全性”列表上就可以查看到該登錄名。(2)創(chuàng)建sql server驗證模式登錄名。創(chuàng)建sql server登錄名使用with子句,其中:lpassword:用于指定正在創(chuàng)建的登錄名的密碼,password為密碼字符串。hashed 選項指定在password參數(shù)后輸入的密碼已經(jīng)過哈希運算,如果未選擇此選項,則在將作為密碼輸入的字符串存儲到數(shù)據(jù)庫之前,對其進行哈希運算。如果指定must_
12、change選項,則sql server會在首次使用新登錄名時提示用戶輸入新密碼。l:用于指定在創(chuàng)建sql server登錄名時的一些選項?!纠?.2】 創(chuàng)建sql server登錄名sql_tao,密碼為123456,默認數(shù)據(jù)庫設(shè)為xsbook。create login sql_taowith password=123456,default_database=xsbook2刪除登錄名刪除登錄名使用drop login命令。語法格式:drop login login_name【例8.3】 刪除windows登錄名tao。drop login 0bd7e57c949a420tao【例8.4】 刪
13、除sql server登錄名sql_tao。drop login sql_tao3創(chuàng)建數(shù)據(jù)庫用戶創(chuàng)建數(shù)據(jù)庫用戶使用create user命令。語法格式:create user user_name for | from login login_name | certificate cert_name | asymmetric key asym_key_name | without login with default_schema = schema_name 說明:(1)user_name指定數(shù)據(jù)庫用戶名。for或from子句用于指定相關(guān)聯(lián)的登錄名。(2)login login_name指定要創(chuàng)
14、建數(shù)據(jù)庫用戶的sql server登錄名。login_name必須是服務(wù)器中有效的登錄名。當此登錄名進入數(shù)據(jù)庫時,它將獲取正在創(chuàng)建的數(shù)據(jù)庫用戶的名稱和id。(3)without login指定不將用戶映射到現(xiàn)有登錄名。(4)with default_schema指定服務(wù)器為此數(shù)據(jù)庫用戶解析對象名稱時將搜索的第一個架構(gòu),默認為dbo?!纠?.5】 使用sql server登錄名sql_tao(假設(shè)已經(jīng)創(chuàng)建)在xsbook數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫用戶tao,默認架構(gòu)名使用dbo。use xsbookgocreate user taofor login sql_taowith default_schema
15、=dbo4刪除數(shù)據(jù)庫用戶刪除數(shù)據(jù)庫用戶使用drop user語句。語法格式:drop user user_nameuser_name為要刪除的數(shù)據(jù)庫用戶名,在刪除之前要使用use語句指定數(shù)據(jù)庫?!纠?.6】 刪除xsbook數(shù)據(jù)庫的數(shù)據(jù)庫用戶tao。use xsbookgodrop user tao8.3.1 固定服務(wù)器角色固定服務(wù)器角色服務(wù)器角色獨立于各個數(shù)據(jù)庫。如果在sql server中創(chuàng)建一個登錄名后,要賦予該登錄者具有管理服務(wù)器的權(quán)限,此時可設(shè)置該登錄名為服務(wù)器角色的成員。sql server提供了以下固定服務(wù)器角色:(1)sysadmin:系統(tǒng)管理員,角色成員可對sql serve
16、r服務(wù)器進行所有的管理工作,為最高管理角色。這個角色一般適合于數(shù)據(jù)庫管理員(dba)。(2)securityadmin:安全管理員,角色成員可以管理登錄名及其屬性。可以授予、拒絕、撤銷服務(wù)器級和數(shù)據(jù)庫級的權(quán)限。另外還可以重置sql server登錄名的密碼。(3)serveradmin:服務(wù)器管理員,角色成員具有對服務(wù)器進行設(shè)置及關(guān)閉服務(wù)器的權(quán)限。(4)setupadmin:設(shè)置管理員,角色成員可以添加和刪除鏈接服務(wù)器,并執(zhí)行某些系統(tǒng)存儲過程。(5)processadmin:進程管理員,角色成員可以終止sql server實例中運行的進程。(6)diskadmin:用于管理磁盤文件。(7)db
17、creator:數(shù)據(jù)庫創(chuàng)建者,角色成員可以創(chuàng)建、更改、刪除或還原任何數(shù)據(jù)庫。(8)bulkadmin:可執(zhí)行bulk insert語句,但是這些成員對要插入數(shù)據(jù)的表必須有insert權(quán)限。bulk insert語句的功能是以用戶指定的格式復制一個數(shù)據(jù)文件至數(shù)據(jù)庫表或視圖。(9)public:其角色成員可以查看任何數(shù)據(jù)庫。用戶只能將一個用戶登錄名添加為上述某個固定服務(wù)器角色的成員,不能自行定義服務(wù)器角色。例如,對于前面已建立的登錄名“0bd7e57c949a420liu”,如果要給其賦予系統(tǒng)管理員權(quán)限,可通過“對象資源管理器”或“系統(tǒng)存儲過程”將該登錄名加入sysadmin角色。1通過“對象資源
18、管理器”添加服務(wù)器角色成員(1)以系統(tǒng)管理員身份登錄到sql server服務(wù)器,在“對象資源管理器”中展開“安全性”“登錄名”選擇登錄名,例如“0bd7e57c949a420liu”,雙擊或右擊選擇“屬性”菜單項,打開“登錄屬性”窗口。(2)在打開的“登錄屬性”窗口中選擇“服務(wù)器角色”選項卡。如圖8.7所示,在“登錄屬性”窗口右邊列出了所有的固定服務(wù)器角色,用戶可以根據(jù)需要,在服務(wù)器角色前的復選框中打勾,來為登錄名添加相應(yīng)的服務(wù)器角色,此處默認已經(jīng)選擇了“public”服務(wù)器角色。單擊“確定”按鈕完成添加。圖8.7 sql server服務(wù)器角色設(shè)置窗口2利用系統(tǒng)存儲過程添加固定服務(wù)器角色成
19、員利用系統(tǒng)存儲過程sp_addsrvrolemember可將一登錄名添加到某一固定服務(wù)器角色中,使其成為固定服務(wù)器角色的成員。語法格式:sp_addsrvrolemember loginame = login, rolename = role參數(shù)含義:login指定添加到固定服務(wù)器角色role的登錄名,login可以是sql server登錄名或windows 登錄名;對于windows登錄名,如果還沒有授予sql server訪問權(quán)限,將自動對其授予訪問權(quán)限。固定服務(wù)器角色名role必須為sysadmin、securityadmin、serveradmin、setupadmin、proces
20、sadmin、diskadmin、dbcreator、bulkadmin和public之一?!纠?.7】 將windows登錄名0bd7e57c949a420liu添加到sysadmin固定服務(wù)器角色中。exec sp_addsrvrolemember 0bd7e57c949a420liu, sysadmin3利用系統(tǒng)存儲過程刪除固定服務(wù)器角色成員利用sp_dropsrvrolemember系統(tǒng)存儲過程可從固定服務(wù)器角色中刪除sql server 登錄名或windows登錄名。語法格式:sp_dropsrvrolemember loginame = login , rolename = rol
21、elogin為將要從固定服務(wù)器角色刪除的登錄名。role為服務(wù)器角色名,默認值為null,必須是有效的固定服務(wù)器角色名。 【例8.8】 從sysadmin固定服務(wù)器角色中刪除sql server登錄名david。exec sp_dropsrvrolemember david, sysadmin1使用“對象資源管理器”添加固定數(shù)據(jù)庫角色成員(1)以系統(tǒng)管理員身份登錄到sql server服務(wù)器,在“對象資源管理器”中展開“數(shù)據(jù)庫”“xsbook”“安全性”“用戶”選擇一個數(shù)據(jù)庫用戶,例如“david”,雙擊或單擊右鍵選擇“屬性”菜單項,打開“數(shù)據(jù)庫用戶”窗口。(2)在打開的窗口中,在“常規(guī)”選項
22、卡中的“數(shù)據(jù)庫角色成員身份”欄,用戶可以根據(jù)需要,在數(shù)據(jù)庫角色前的復選框中打勾,來為數(shù)據(jù)庫用戶添加相應(yīng)的數(shù)據(jù)庫角色,如圖8.8所示,單擊“確定”按鈕完成添加。圖8.8 添加固定數(shù)據(jù)庫角色成員(3)查看固定數(shù)據(jù)庫角色的成員。在“對象資源管理器”窗口中,在xsbook數(shù)據(jù)庫下的“安全性”“角色”“數(shù)據(jù)庫角色”目錄下,選擇數(shù)據(jù)庫角色,如db_owner,右擊選擇“屬性”菜單項,在屬性窗口中的“角色成員”欄下可以看到該數(shù)據(jù)庫角色的成員列表,如圖8.9所示。圖8.9 數(shù)據(jù)庫角色成員列表2使用系統(tǒng)存儲過程添加固定數(shù)據(jù)庫角色成員利用系統(tǒng)存儲過程sp_addrolemember可以將一個數(shù)據(jù)庫用戶添加到某一固
23、定數(shù)據(jù)庫角色中,使其成為該固定數(shù)據(jù)庫角色的成員。語法格式:sp_addrolemember rolename = role, membername = security_accountrole為當前數(shù)據(jù)庫中的數(shù)據(jù)庫角色的名稱。security_account為添加到該角色的安全賬戶,可以是數(shù)據(jù)庫用戶或當前數(shù)據(jù)庫角色。說明:(1)當使用sp_addrolemember將用戶添加到角色時,新成員將繼承所有應(yīng)用到角色的權(quán)限。(2)不能將固定數(shù)據(jù)庫或固定服務(wù)器角色或者dbo添加到其他角色。例如,不能將 db_owner固定數(shù)據(jù)庫角色添加成為用戶定義的數(shù)據(jù)庫角色的成員。(3)在用戶定義的事務(wù)中不能使用s
24、p_addrolemember。(4)只有sysadmin固定服務(wù)器角色和db_owner固定數(shù)據(jù)庫角色中的成員可以執(zhí)行 sp_addrolemember,以將成員添加到數(shù)據(jù)庫角色。(5)db_securityadmin固定數(shù)據(jù)庫角色的成員可以將用戶添加到任何用戶定義的角色。【例8.9】 將xsbook數(shù)據(jù)庫上的數(shù)據(jù)庫用戶david添加為固定數(shù)據(jù)庫角色db_owner的成員。use xsbookgoexec sp_addrolemember db_owner, david3使用系統(tǒng)存儲過程刪除固定數(shù)據(jù)庫角色成員利用系統(tǒng)存儲過程sp_droprolemember可以將某一成員從固定數(shù)據(jù)庫角色中去
25、除。語法格式:sp_droprolemember rolename = role , membername = security_account說明:刪除某一角色的成員后,該成員將失去作為該角色的成員身份所擁有的任何權(quán)限;不能刪除public角色的用戶,也不能從任何角色中刪除dbo。【例8.10】 將數(shù)據(jù)庫用戶david從db_owner中去除。exec sp_droprolemember db_owner, david1通過“對象資源管理器”創(chuàng)建數(shù)據(jù)庫角色(1)創(chuàng)建數(shù)據(jù)庫角色。以windows系統(tǒng)管理員身份連接sql server,在“對象資源管理器”中展開“數(shù)據(jù)庫”選擇要創(chuàng)建角色的數(shù)據(jù)庫x
26、sbook“安全性”“角色”,右擊鼠標,在彈出的快捷菜單中選擇“新建”菜單項在彈出的子菜單中選擇“新建數(shù)據(jù)庫角色”菜單項,如圖8.10所示。進入“數(shù)據(jù)庫角色-新建”窗口。圖8.10 新建數(shù)據(jù)庫角色(2)將數(shù)據(jù)庫用戶加入數(shù)據(jù)庫角色。當數(shù)據(jù)庫用戶成為某一數(shù)據(jù)庫角色的成員之后,該數(shù)據(jù)庫用戶就獲得該數(shù)據(jù)庫角色所擁有的對數(shù)據(jù)庫操作的權(quán)限。將用戶加入自定義數(shù)據(jù)庫角色的方法與8.3.2小節(jié)中將用戶加入固定數(shù)據(jù)庫角色的方法類似,這里不再重復。如圖8.11所示的是將xsbook數(shù)據(jù)庫的用戶david加入角色role。圖8.11 添加到數(shù)據(jù)庫角色2通過sql命令創(chuàng)建數(shù)據(jù)庫角色(1)定義數(shù)據(jù)庫角色。創(chuàng)建用戶自定義數(shù)
27、據(jù)庫角色可以使用create role語句。語法格式:create role role_name authorization owner_name 【例8.11】 如下示例在當前數(shù)據(jù)庫中創(chuàng)建名為role2的新角色,并指定dbo為該角色的所有者。use xsbookgocreate role role2authorization dbo(2)給數(shù)據(jù)庫角色添加成員。向用戶定義數(shù)據(jù)庫角色添加成員也使用存儲過程sp_ addrolemember,用法與之前介紹的基本相同?!纠?.12】 使用windows身份驗證模式的登錄名(如0bd7e57c949a420liu)創(chuàng)建xsbook數(shù)據(jù)庫的用戶(如0b
28、d7e57c949a420liu),并將該數(shù)據(jù)庫用戶添加到數(shù)據(jù)庫角色role中。use xsbookgocreate user 0bd7e57c949a420liufrom login 0bd7e57c949a420liugoexec sp_addrolemember role, 0bd7e57c949a420liu【例8.13】 將sql server登錄名創(chuàng)建的xsbook的數(shù)據(jù)庫用戶wang(假設(shè)已經(jīng)創(chuàng)建)添加到數(shù)據(jù)庫角色role中。exec sp_addrolemember role,wang【例8.14】 將數(shù)據(jù)庫角色role2添加到role中。exec sp_addrolememb
29、er role,role23通過sql命令刪除數(shù)據(jù)庫角色要刪除數(shù)據(jù)庫角色可以使用drop role語句。語法格式:drop role role_name說明:(1)無法從數(shù)據(jù)庫刪除擁有安全對象的角色。若要刪除擁有安全對象的數(shù)據(jù)庫角色,必須首先轉(zhuǎn)移這些安全對象的所有權(quán),或從數(shù)據(jù)庫刪除它們。(2)無法從數(shù)據(jù)庫刪除擁有成員的角色。若要刪除擁有成員的數(shù)據(jù)庫角色,必須首先刪除角色的所有成員。(3)不能使用drop role刪除固定數(shù)據(jù)庫角色?!纠?.15】 刪除數(shù)據(jù)庫角色role2。在刪除role2之前首先需要將role2中的成員刪除,可以使用界面方式,也可以使用命令方式。若使用界面方式,只需在role
30、2的屬性頁中操作即可。命令方式在刪除固定數(shù)據(jù)庫成員時已經(jīng)介紹,請參見前面內(nèi)容。確認role2可以刪除后,使用以下命令刪除role2:drop role role28.4.1 授予權(quán)限授予權(quán)限權(quán)限的授予可以使用命令方式或界面方式完成。1使用命令方式授予權(quán)限。利用grant語句可以給數(shù)據(jù)庫用戶或數(shù)據(jù)庫角色授予數(shù)據(jù)庫級別或?qū)ο蠹墑e的權(quán)限。語法格式:grant all privileges | permission ( column ,.n ) ,.n on securable to principal ,.n with grant option as principal 說明:【例8.16】 給xs
31、book數(shù)據(jù)庫上的用戶david和wang授予創(chuàng)建表的權(quán)限。以系統(tǒng)管理員身份登錄sql server,新建一個查詢,輸入以下語句:use xsbookgogrant create table to david, wanggo【例8.17】 首先在當前數(shù)據(jù)庫xsbook中給 public 角色授予對xs表的select 權(quán)限。然后,將特定的權(quán)限授予用戶 liu、zhang 和 dong,使這些用戶對 xs 表有所有操作權(quán)限。grant select on xs to publicgo grant insert, update, delete on xs to liu, zhang, donggo
32、【例8.18】 將create table權(quán)限授予數(shù)據(jù)庫角色role的所有成員。grant create table to role【例8.19】 以系統(tǒng)管理員身份登錄sql server,將表xs的select權(quán)限授予role2角色(指定with grant option子句)。用戶li是role2的成員(創(chuàng)建過程略),在li用戶上將表xs上的select權(quán)限授予用戶huang(創(chuàng)建過程略),huang不是role2的成員。首先在以windows系統(tǒng)管理員身份連接sql server,授予角色role2在xs表上的select權(quán)限:use xsbookgogrant select on xs
33、 to role2 with grant option在“sql server management studio”窗口上單擊“新建查詢”按鈕旁邊的數(shù)據(jù)庫引擎查詢按鈕“ ”,在彈出的連接窗口中以li用戶的登錄名登錄,如圖8.12所示。單擊“連接”按鈕連接到sql server服務(wù)器,出現(xiàn)“查詢分析器”窗口。圖8.12 以li用戶身份登錄在“查詢分析器”窗口中使用如下語句將用戶li的在xs表上的select權(quán)限授予huang:use xsbookgogrant select on xs to huang as role2【例8.20】 在當前數(shù)據(jù)庫xsbook中給public角色賦予對表xs的借
34、書證號、姓名字段進行select權(quán)限。grant select(借書證號,姓名) on xsto publicgo2使用界面方式授予語句權(quán)限。(1)授予數(shù)據(jù)庫上的權(quán)限。以給數(shù)據(jù)庫用戶david授予xsbook數(shù)據(jù)庫的create table語句的權(quán)限(即創(chuàng)建表的權(quán)限)為例,在sql server management studio中授予用戶權(quán)限的步驟如下:以系統(tǒng)管理員身份登錄到sql server服務(wù)器,在“對象資源管理器”中展開“數(shù)據(jù)庫”“xsbook”,右擊鼠標,選擇“屬性”菜單項進入xsbook數(shù)據(jù)庫的屬性窗口,選擇“權(quán)限”頁。在用戶或角色欄中選擇需要授予權(quán)限的用戶或角色,在窗口下方列出
35、的權(quán)限列表中找到相應(yīng)的權(quán)限(如“創(chuàng)建表”),在復選框中打勾,如圖8.13所示。單擊“確定”按鈕即可完成。圖8.13 授予用戶數(shù)據(jù)庫上的權(quán)限(2)授予數(shù)據(jù)庫對象上的權(quán)限。以給數(shù)據(jù)庫用戶david授予book表上的select、insert的權(quán)限為例,步驟如下:以系統(tǒng)管理員身份登錄到sql server服務(wù)器,在“對象資源管理器”中展開“數(shù)據(jù)庫”“xsbook”“表”“book”,右擊鼠標,選擇“屬性”菜單項進入book表的屬性窗口,選擇“權(quán)限”選項卡。單擊“搜索”按鈕,在彈出的“選擇用戶或角色”窗口中單擊“瀏覽”按鈕,選擇需要授權(quán)的用戶或角色(如david),選擇后單擊“確定”按鈕回到book表
36、的屬性窗口。在該窗口中選擇用戶,在權(quán)限列表中選擇需要授予的權(quán)限,如“插入(insert)”、“選擇(select)”,如圖8.14所示,單擊“確定”按鈕完成授權(quán)。圖8.14 授予用戶數(shù)據(jù)庫對象上的權(quán)限使用deny命令可以拒絕給當前數(shù)據(jù)庫內(nèi)的用戶授予的權(quán)限,并防止數(shù)據(jù)庫用戶通過其組或角色成員資格繼承權(quán)限。語法格式:deny all privileges | permission ( column ,.n ) ,.n on securable to principal ,.n cascade as principal 【例8.21】 對多個用戶不允許使用create view和create tab
37、le語句。deny create view, create table to li, huanggo【例8.22】 拒絕用戶li、huang、0bd7e57c949a420liu對表xs的一些權(quán)限,這樣,這些用戶就沒有對xs表的操作權(quán)限了。use xsbookgodeny select, insert, update, delete on xs to li, huang, 0bd7e57c949a420liugo【例8.23】 對所有role2角色成員拒絕create table權(quán)限。deny create table to role2利用revoke命令可撤銷以前給當前數(shù)據(jù)庫用戶授予或拒絕的
38、權(quán)限。語法格式:revoke grant option for all privileges | permission ( column ,.n ) ,.n on securable to | from principal ,.n cascade as principal 【例8.24】 取消已授予用戶wang的create table 權(quán)限。revoke create table from wang【例8.25】 取消授予多個用戶的多個語句權(quán)限。revoke create table, create view from wang, ligo【例8.26】 取消對wang授予或拒絕的在xs表上
39、的select權(quán)限。revoke select on xs from wang【例8.27】 角色role2在xs表上擁有select權(quán)限,用戶li是role2的成員,li使用with grant option子句將select權(quán)限轉(zhuǎn)移給了用戶huang,用戶huang不是role2的成員?,F(xiàn)要以用戶li的身份撤銷用戶huang的select權(quán)限。以用戶“l(fā)i”的身份登錄sql server服務(wù)器,新建一個查詢,使用如下語句撤銷huang的select權(quán)限:use xsbookgorevoke select on xsto huang as role28.5.1 使用界面方式創(chuàng)建架構(gòu)使用界面方
40、式創(chuàng)建架構(gòu)以在xsbook數(shù)據(jù)庫中創(chuàng)建架構(gòu)為例,具體步驟如下:(1)以系統(tǒng)管理員身份登錄sql server,在“對象資源管理器”中展開“數(shù)據(jù)庫”“xsbook”“安全性”選擇“架構(gòu)”,右擊鼠標,在彈出的快捷菜單中選擇“新建架構(gòu)”菜單項。(2)在打開的“架構(gòu)-新建”窗口中選擇“常規(guī)”選項卡,在窗口的右邊“架構(gòu)名稱”下面的文本框中輸入架構(gòu)名稱(如test)。單擊“搜索”按鈕,在打開的“搜索角色和用戶”對話框中單擊“瀏覽”按鈕。如圖8.15所示,在打開的“查找對象”對話框中,在用戶“david”前面的復選框打勾,單擊“確定”按鈕,返回“搜索角色和用戶”對話框。單擊“確定”按鈕,返回“架構(gòu)-新建”窗
41、口。創(chuàng)建完后在“數(shù)據(jù)庫”“xsbook”“安全性”“架構(gòu)”中,可以找到該創(chuàng)建后的新架構(gòu),打開該架構(gòu)的屬性窗口可以更改架構(gòu)的所有者。圖8.15 新建架構(gòu)(3)架構(gòu)創(chuàng)建完后可以新建一個測試表來測試如何訪問架構(gòu)中的對象。在xsbook數(shù)據(jù)庫中新建一個名為table_1的表,表的結(jié)構(gòu)如圖8.16所示。圖8.16 新建一個測試表在創(chuàng)建表時,表的默認架構(gòu)為dbo,要將其架構(gòu)修改為test。在進行表結(jié)構(gòu)設(shè)計時,表設(shè)計窗口右邊有一個表table_1的屬性窗口,在創(chuàng)建表時,應(yīng)在表的屬性窗口中將該表的架構(gòu)設(shè)置成test,如圖8.17所示。如果沒有找到屬性窗口,單擊“視圖”菜單欄,選擇“屬性窗口”子菜單就能顯示出屬性窗口。圖8.17 屬性窗口 設(shè)置完成后保存該表,保存后的表可以在“對象資源管理器”中找到,此時表名就已經(jīng)變成test. table_1,如圖8.18所示。圖8.18 新建的表test.table_1(4)在“對象資源管理器”中展開數(shù)據(jù)庫“xsbook”“安全性”“架構(gòu)”,選擇新創(chuàng)建的架構(gòu)test,右擊鼠標,在彈出的快捷菜單中選擇“屬性”菜單項,打開“架構(gòu)屬性”窗口,在該架構(gòu)屬性的“權(quán)限”選項卡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度成都市光伏發(fā)電項目投資合同
- 2024大數(shù)據(jù)分析與商業(yè)決策支持合同
- 2024不銹鋼來料加工合同
- 2024寺廟仿古建筑施工合同技術(shù)支持合同
- 2024年建筑外墻清洗維護合同
- 2024年度二手房出售交接事項及保修條款合同
- 2024年度設(shè)備租賃合同設(shè)備類型與租賃期限
- 2024光電子技術(shù)研發(fā)與合作合同
- 2024年度N95口罩生產(chǎn)線擴建貸款合同
- 2024年建筑工程經(jīng)紀代理協(xié)議
- 《嬰幼兒行為觀察、記錄與評價》習題庫 (項目三) 0 ~ 3 歲嬰幼兒語言發(fā)展觀察、記錄與評價
- 英語漫談膠東海洋文化知到章節(jié)答案智慧樹2023年威海海洋職業(yè)學院
- 環(huán)保產(chǎn)品管理規(guī)范
- 幼兒園:我中獎了(實驗版)
- 趙學慧-老年社會工作理論與實務(wù)-教案
- 《世界主要海峽》
- 住院醫(yī)師規(guī)范化培訓師資培訓
- 中央企業(yè)商業(yè)秘密安全保護技術(shù)指引2015版
- 螺旋果蔬榨汁機的設(shè)計
- 《脊柱整脊方法》
- 會計與財務(wù)管理專業(yè)英語智慧樹知到答案章節(jié)測試2023年哈爾濱商業(yè)大學
評論
0/150
提交評論