版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第10章 系統(tǒng)平安管理10.1 SQL Server 2021的平安機(jī)制10.2 建立和管理用戶賬戶10.3 角 色 管 理10.4 數(shù)據(jù)庫權(quán)限的管理10.5 數(shù)據(jù)庫架構(gòu)的定義和運(yùn)用10.1 SQL Server 2021的平安機(jī)制10.1.1 SQL Server 身份驗(yàn)證方式身份驗(yàn)證方式是指系統(tǒng)確認(rèn)用戶的方式。SQL Server有兩種身份驗(yàn)證方式:Windows驗(yàn)證方式和SQL Server驗(yàn)證方式。這是在安裝SQL Server的過程中由“數(shù)據(jù)庫引擎配置確定的,如圖10.1所示。10.1.1 SQL Server 身份驗(yàn)證方式1Windows驗(yàn)證方式用戶登錄Windows時進(jìn)展身份驗(yàn)證
2、,登錄SQL Server時就不再進(jìn)展身份驗(yàn)證了。留意:1必需將Windows賬戶參與到SQL Server中,才干采用Windows賬戶登錄SQL Server。2假設(shè)運(yùn)用Windows賬戶登錄到另一個網(wǎng)絡(luò)的SQL Server,那么必需在Windows中設(shè)置彼此的托管權(quán)限。2SQL Server驗(yàn)證方式在SQL Server驗(yàn)證方式下,SQL Server效力器要對登錄的用戶進(jìn)展身份驗(yàn)證。系統(tǒng)管理員必需設(shè)定登錄驗(yàn)證方式的類型為混合驗(yàn)證方式。當(dāng)采用混合方式時,SQL Server系統(tǒng)既允許運(yùn)用Windows登錄名登錄,也允許運(yùn)用SQL Server登錄名登錄。10.1.2 SQL Serve
3、r平安性機(jī)制1效力器級別效力器級別所包含的平安對象主要有登錄名、固定效力器角色等。其中,登錄名用于登錄數(shù)據(jù)庫效力器,而固定效力器角色用于給登錄名賦予相應(yīng)的效力器權(quán)限。SQL Server中的登錄名主要有兩種:第一種是Windows登錄名,第二種是SQL Server登錄名。Windows登錄名對應(yīng)Windows驗(yàn)證方式,該驗(yàn)證方式所涉及的賬戶類型主要有Windows本地用戶賬戶、Windows域用戶賬戶、Windows組。2數(shù)據(jù)庫級別數(shù)據(jù)庫級別所包含的平安對象主要有用戶、角色、運(yùn)用程序角色、證書、對稱密鑰、非對稱密鑰、程序集、全文目錄、DDL事件、架構(gòu)等。用戶平安對象是用來訪問數(shù)據(jù)庫的。假設(shè)某
4、人只擁有登錄名,而沒有在相應(yīng)的數(shù)據(jù)庫中為其創(chuàng)建登錄名所對應(yīng)的用戶,那么該用戶只能登錄數(shù)據(jù)庫效力器,而不能訪問相應(yīng)的數(shù)據(jù)庫。10.1.2 SQL Server平安性機(jī)制3架構(gòu)級別架構(gòu)級別所包含的平安對象有表、視圖、函數(shù)、存儲過程、類型、同義詞、聚合函數(shù)等。在創(chuàng)建這些對象時可設(shè)定架構(gòu),假設(shè)不設(shè)定那么系統(tǒng)默許架構(gòu)為dbo。數(shù)據(jù)庫用戶只能對屬于本人架構(gòu)中的數(shù)據(jù)庫對象執(zhí)行相應(yīng)的數(shù)據(jù)操作。至于操作的權(quán)限那么由數(shù)據(jù)庫角色決議。例如,假設(shè)某數(shù)據(jù)庫中的表A屬于架構(gòu)S1,表B屬于架構(gòu)S2,而某用戶默許的架構(gòu)為S2,假設(shè)沒有授予用戶操作表A的權(quán)限,那么該用戶不能對表A執(zhí)行相應(yīng)的數(shù)據(jù)操作。但是,該用戶可以對表B執(zhí)行相
5、應(yīng)的操作。10.1.3 SQL Server數(shù)據(jù)庫平安驗(yàn)證過程一個用戶假設(shè)要對某一數(shù)據(jù)庫進(jìn)展操作,那么必需滿足以下三個條件:1登錄SQL Server效力器時必需經(jīng)過身份驗(yàn)證。2必需是該數(shù)據(jù)庫的用戶,或者是某一數(shù)據(jù)庫角色的成員。3必需有對數(shù)據(jù)庫對象執(zhí)行該操作的權(quán)限。10.1.3 SQL Server數(shù)據(jù)庫平安驗(yàn)證過程不論運(yùn)用哪種驗(yàn)證方式,用戶都必需具備有效的Windows用戶登錄名。SQL Server有兩個常用的默許登錄名:sa和計(jì)算機(jī)名Windows管理員賬戶名。其中,sa是系統(tǒng)管理員,在SQL Server中擁有系統(tǒng)和數(shù)據(jù)庫的一切權(quán)限,如圖10.2所示。10.2 建立和管理用戶賬戶10.
6、2.1 以界面方式管理用戶賬戶1建立Windows驗(yàn)證方式的登錄名1創(chuàng)建Windows的用戶。以管理員身份登錄到Windows,翻開控制面板,完成新用戶“l(fā)iu的創(chuàng)建。2將Windows賬戶參與到SQL Server中。以管理員身份登錄到“SSMS,在“對象資源管理器中,在“平安性下選擇“登錄名項(xiàng)。右擊鼠標(biāo),在彈出的快捷菜單中選擇“新建登錄名,翻開“登錄名-新建窗口??梢越?jīng)過單擊“常規(guī)選項(xiàng)頁的“搜索按鈕,在“選擇用戶或組對話框的“輸入要選擇的對象稱號中輸入“l(fā)iu,然后單擊“檢查稱號按鈕,系統(tǒng)生成“PC-202112101514liu如圖10.3所示,單擊“確定按鈕,回到“登錄名-新建窗口。1
7、0.2.1 以界面方式管理用戶賬戶在登錄名中就會顯示完好稱號。選擇默許數(shù)據(jù)庫為“pxscj,如圖10.4所示。10.2.1 以界面方式管理用戶賬戶2建立SQL Server驗(yàn)證方式的登錄名1將驗(yàn)證方式設(shè)為混合方式。以系統(tǒng)管理員身份登錄“SSMS,在“對象資源管理器中選擇要登錄的SQL Server效力器圖標(biāo),右擊鼠標(biāo),在彈出的快捷菜單中選擇“屬性菜單項(xiàng),翻開“效力器屬性窗口。選擇“平安性選項(xiàng)頁。選擇效力器身份驗(yàn)證為“SQL Server和Windows身份驗(yàn)證方式,如圖10.5所示。10.2.1 以界面方式管理用戶賬戶2創(chuàng)建SQL Server驗(yàn)證方式的登錄名。在“對象資源管理器中“平安性下的
8、“登錄名上按右鍵,選擇“新建登錄名,系統(tǒng)顯示“登錄名-新建對話框。選擇“SQL Server 身份驗(yàn)證, 登錄名輸入“SQL_liu,輸入密碼和確認(rèn)密碼“123, 并將“強(qiáng)迫密碼過期復(fù)選框中的鉤去掉,默許數(shù)據(jù)庫為“pxscj,如圖10.6所示。單擊“確定按鈕即可。10.2.1 以界面方式管理用戶賬戶3管理數(shù)據(jù)庫用戶1以登錄名新建數(shù)據(jù)庫用戶。以系統(tǒng)管理員身份銜接SQL Server,展開“數(shù)據(jù)庫這里可選“pxscj“平安性,選擇“用戶,右擊鼠標(biāo),選擇“新建用戶菜單項(xiàng),進(jìn)入“數(shù)據(jù)庫用戶-新建窗口。在“登錄名框中填寫一個可以登錄SQL Server的登錄名,如“SQL_liu。在“用戶名框中填寫一個
9、數(shù)據(jù)庫用戶名“User_SQL_liu。 一個登錄名在本數(shù)據(jù)庫中只能創(chuàng)建一個數(shù)據(jù)庫用戶。這里可選擇默許架構(gòu)為dbo,如圖10.7所示。10.2.1 以界面方式管理用戶賬戶圖10.7 新建數(shù)據(jù)庫用戶SQL Server登錄名10.2.1 以界面方式管理用戶賬戶也可采用上述方法在pxscj數(shù)據(jù)庫下新建Windows登錄名“l(fā)iu對應(yīng)的用戶“User_liu,如圖10.8所示。10.2.1 以界面方式管理用戶賬戶2數(shù)據(jù)庫用戶顯示。數(shù)據(jù)庫用戶創(chuàng)建勝利后,可以經(jīng)過選擇“pxscj“平安性,選擇“用戶欄查看到該用戶。在“用戶列表中,還可以修正現(xiàn)有數(shù)據(jù)庫用戶的屬性,或者刪除該用戶。3以SQL Server登
10、錄名銜接SQL Server。重啟SQL Server,在對話框的“身份驗(yàn)證框中選擇“SQL Server身份驗(yàn)證,“登錄名填寫為“SQL_liu,輸入密碼“123,單擊“銜接按鈕,即可銜接SQL Server,如圖10.9所示。10.2.1 以界面方式管理用戶賬戶此時的“對象資源管理器如圖10.10所示。10.2.2 以命令方式管理用戶賬戶:CREATE LOGIN/USER1登錄名創(chuàng)建1創(chuàng)建登錄名語法格式:CREATE LOGIN 登錄名 WITH PASSWORD = 密碼 HASHED MUST_CHANGE , , . /*WITH子句用于創(chuàng)建SQL Server登錄名*/ | FR
11、OM/*FROM子句用于創(chuàng)建其他登錄名*/ WINDOWS WITH , . | CERTIFICATE證書名 | ASYMMETRIC KEY 非對稱密鑰名 10.2.2 以命令方式管理用戶賬戶:CREATE LOGIN/USER其中: := SID = 登錄GUID | DEFAULT_DATABASE = 數(shù)據(jù)庫 | DEFAULT_LANGUAGE = 言語 | CHECK_EXPIRATION = ON | OFF | CHECK_POLICY = ON | OFF CREDENTIAL = 憑據(jù)名 := DEFAULT_DATABASE = 數(shù)據(jù)庫 | DEFAULT_LANGUA
12、GE = 言語10.2.2 以命令方式管理用戶賬戶:CREATE LOGIN/USER1創(chuàng)建Windows驗(yàn)證方式登錄名。創(chuàng)建Windows登錄名運(yùn)用FROM子句,在FROM子句的語法格式中,WINDOWS關(guān)鍵字指定將登錄名映射到Windows登錄名,其中,為創(chuàng)建Windows登錄名的選項(xiàng),DEFAULT_DATABASE指定默許數(shù)據(jù)庫,DEFAULT_LANGUAGE指定默許言語。【例10.1】 以命令方式創(chuàng)建Windows登錄名tao假設(shè)Windows用戶tao曾經(jīng)創(chuàng)建,本地計(jì)算機(jī)名為“PC-202112101514,默許數(shù)據(jù)庫設(shè)為pxscj。USE pxscjGOCREATE LOGIN
13、 PC-202112101514tao FROM WINDOWS WITH DEFAULT_DATABASE= pxscj命令執(zhí)行勝利后,在“登錄名“平安性列表上就可以查看到該登錄名。10.2.2 以命令方式管理用戶賬戶:CREATE LOGIN/USER2創(chuàng)建SQL Server驗(yàn)證方式登錄名。創(chuàng)建SQL Server登錄名運(yùn)用WITH子句,其中,PASSWORD:用于指定正在創(chuàng)建的登錄名的密碼,“密碼為密碼字符串。HASHED 選項(xiàng)指定在PASSWORD參數(shù)后輸入的密碼曾經(jīng)過哈希運(yùn)算。:用于指定在創(chuàng)建SQL Server登錄名時的如下選項(xiàng)。SID:指定新SQL Server登錄名的全局獨(dú)一
14、標(biāo)識符。假設(shè)未選擇此選項(xiàng),那么自動指派。DEFAULT_DATABASE:指定默許數(shù)據(jù)庫。假設(shè)未指定此選項(xiàng),那么默許數(shù)據(jù)庫將設(shè)置為master。DEFAULT_LANGUAGE:指定默許言語。假設(shè)未指定此選項(xiàng),那么默許言語將設(shè)置為效力器的當(dāng)前默許言語。CHECK_EXPIRATION:指定能否對此登錄名強(qiáng)迫實(shí)施密碼過期戰(zhàn)略,默許值為OFF。CHECK_POLICY:指定應(yīng)對此登錄名強(qiáng)迫實(shí)施運(yùn)轉(zhuǎn)SQL Server的計(jì)算機(jī)的Windows密碼戰(zhàn)略,默許值為ON?!纠?0.2】 創(chuàng)建SQL Server登錄名SQL_tao,密碼為123456,默許數(shù)據(jù)庫設(shè)為pxscj。CREATE LOGIN S
15、QL_tao WITH PASSWORD=123456, DEFAULT_DATABASE=pxscj10.2.2 以命令方式管理用戶賬戶:CREATE LOGIN/USER2刪除登錄名刪除登錄名運(yùn)用DROP LOGIN命令。語法格式:DROP LOGIN 登錄名例如,刪除Windows登錄名tao 和SQL Server登錄名SQL_tao。DROP LOGIN PC-202112101514taoDROP LOGIN SQL_tao10.2.2 以命令方式管理用戶賬戶:CREATE LOGIN/USER2數(shù)據(jù)庫用戶創(chuàng)建1創(chuàng)建數(shù)據(jù)庫用戶創(chuàng)建數(shù)據(jù)庫用戶運(yùn)用CREATE USER命令。語法格式:
16、CREATE USER 用戶名 FOR | FROM LOGIN 登錄名 | CERTIFICATE 證書名 | ASYMMETRIC KEY 非對稱密鑰名| WITHOUT LOGIN WITH DEFAULT_SCHEMA = 架構(gòu)名 10.2.2 以命令方式管理用戶賬戶:CREATE LOGIN/USER【例10.3】 運(yùn)用SQL Server登錄名SQL_tao和Windows登錄名PC-202112101514tao在pxscj數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫用戶User_SQL_tao和User_tao,默許架構(gòu)名運(yùn)用dbo。USE pxscjGOCREATE USER User_SQL_tao
17、 FOR LOGIN SQL_tao WITH DEFAULT_SCHEMA=dboCREATE USER User_tao FOR LOGIN PC-202112101514tao WITH DEFAULT_SCHEMA=dbo命令執(zhí)行勝利后,可以在數(shù)據(jù)庫pxscj的“平安性下的“用戶列表中查看到該數(shù)據(jù)庫用戶。10.2.2 以命令方式管理用戶賬戶:CREATE LOGIN/USER2刪除數(shù)據(jù)庫用戶刪除數(shù)據(jù)庫用戶運(yùn)用DROP USER語句。語法格式:DROP USER 用戶名“用戶名為要刪除的數(shù)據(jù)庫用戶名,在刪除之前要運(yùn)用USE語句指定數(shù)據(jù)庫。例如,刪除pxscj數(shù)據(jù)庫的數(shù)據(jù)庫用戶User_S
18、QL_tao。USE pxscjGODROP USER User_SQL_tao, User_tao10.3 角 色 管 理10.3.1 固定效力器角色SQL Server提供了以下固定效力器角色。1sysadmin:系統(tǒng)管理員,角色成員可對SQL Server效力器進(jìn)展一切的管理任務(wù),為最高管理角色。2securityadmin:平安管理員,角色成員可以管理登錄名及其屬性,可以授予、回絕、撤銷效力器級和數(shù)據(jù)庫級的權(quán)限,還可以重置SQL Server登錄名的密碼。3serveradmin:效力器管理員,角色成員具有對效力器進(jìn)展設(shè)置及封鎖效力器的權(quán)限。4setupadmin:設(shè)置管理員,角色成員
19、可以添加和刪除鏈接效力器,并執(zhí)行某些系統(tǒng)存儲過程。5processadmin:進(jìn)程管理員,角色成員可以終止SQL Server實(shí)例中運(yùn)轉(zhuǎn)的進(jìn)程。6diskadmin:用于管理磁盤文件。7dbcreator:數(shù)據(jù)庫創(chuàng)建者,角色成員可以創(chuàng)建、更改、刪除或復(fù)原任何數(shù)據(jù)庫。8bulkadmin:可執(zhí)行BULK INSERT語句,但是這些成員對要插入數(shù)據(jù)的表必需有INSERT權(quán)限。9public:其角色成員可以查看任何數(shù)據(jù)庫。10.3.1 固定效力器角色1界面方式添加效力器角色成員1以系統(tǒng)管理員身份登錄到SQL Server效力器,在“對象資源管理器中展開“平安性“登錄名,選擇登錄名,例如“PC-202
20、112101514tao,雙擊或右擊選擇“屬性菜單項(xiàng),翻開“登錄屬性窗口。2在翻開的“登錄屬性窗口中選擇“效力器角色選項(xiàng)頁,在“登錄屬性窗口右邊列出了一切的固定效力器角色,用戶可以根據(jù)需求,在效力器角色前的復(fù)選框中打鉤,來為登錄名添加相應(yīng)的效力器角色。此處默許曾經(jīng)選擇了“public效力器角色。單擊“確定按鈕完成添加。10.3.1 固定效力器角色2利用“系統(tǒng)存儲過程添加固定效力器角色成員利用系統(tǒng)存儲過程sp_addsrvrolemember可將一登錄名添加到某一固定效力器角色中,使其成為固定效力器角色的成員。語法格式:sp_addsrvrolemember 登錄名 = login, 角色名 =
21、 role參數(shù)含義:login指定添加到固定效力器角色role的登錄名,login可以是SQL Server登錄名或Windows 登錄名;對于Windows登錄名,假設(shè)還沒有授予SQL Server訪問權(quán)限,將自動對其授予訪問權(quán)限。【例10.4】 將SQL Server登錄名“SQL_tao添加到sysadmin固定效力器角色中。EXEC sp_addsrvrolemember SQL_tao, sysadmin10.3.1 固定效力器角色3利用“系統(tǒng)存儲過程刪除固定效力器角色成員利用sp_dropsrvrolemember系統(tǒng)存儲過程可從固定效力器角色中刪除SQL Server 登錄名或W
22、indows登錄名。語法格式:sp_dropsrvrolemember 登錄名 = login , 角色名 = role參數(shù)含義:login為將要從固定效力器角色刪除的登錄名。role為效力器角色名,默許值為NULL,必需是有效的固定效力器角色名。例如,從sysadmin固定效力器角色中刪除SQL Server登錄名SQL_tao。EXEC sp_dropsrvrolemember SQL_tao, sysadmin10.3.2 固定數(shù)據(jù)庫角色1db_owner:數(shù)據(jù)庫一切者,這個數(shù)據(jù)庫角色的成員可執(zhí)行數(shù)據(jù)庫的一切管理操作。2db_accessadmin:數(shù)據(jù)庫訪問權(quán)限管理者,角色成員具有添加
23、、刪除數(shù)據(jù)庫運(yùn)用者、數(shù)據(jù)庫角色和組的權(quán)限。3db_securityadmin:數(shù)據(jù)庫平安管理員,角色成員具有可管理數(shù)據(jù)庫中的權(quán)限,如設(shè)置數(shù)據(jù)庫表的添加、刪除、修正和查詢等存取權(quán)限。4db_ddladmin:數(shù)據(jù)庫DDL管理員,角色成員可添加、修正或刪除數(shù)據(jù)庫中的對象。5db_backupoperator:數(shù)據(jù)庫備份操作員,角色成員具有執(zhí)行數(shù)據(jù)庫備份的權(quán)限。6db_datareader:數(shù)據(jù)庫數(shù)據(jù)讀取者,角色成員可以從一切用戶表中讀取數(shù)據(jù)。7db_datawriter:數(shù)據(jù)庫數(shù)據(jù)寫入者,角色成員具有對一切用戶表進(jìn)展添加、刪除、修正的權(quán)限。8db_denydatareader:數(shù)據(jù)庫回絕數(shù)據(jù)讀取者
24、,角色成員不能讀取數(shù)據(jù)庫中任何表的內(nèi)容。9db_denydatawriter:數(shù)據(jù)庫回絕數(shù)據(jù)寫入者,角色成員不能對任何表進(jìn)展添加、刪除、修正操作。10public:一個特殊的數(shù)據(jù)庫角色,每個數(shù)據(jù)庫用戶都是public角色的成員,因此不能將用戶、組或角色指派為public角色的成員,也不能刪除public角色的成員。通常,將一些公共的權(quán)限賦給public角色。10.3.2 固定數(shù)據(jù)庫角色1以界面方式添加固定數(shù)據(jù)庫角色成員1以系統(tǒng)管理員身份登錄到SQL Server效力器,在“對象資源管理器中展開“數(shù)據(jù)庫“pxscj“平安性“用戶,選擇一個數(shù)據(jù)庫用戶,如“User_tao,雙擊或單擊右鍵選擇“屬性
25、菜單項(xiàng),翻開“數(shù)據(jù)庫用戶窗口。2在翻開的窗口中,在“常規(guī)選項(xiàng)頁的“數(shù)據(jù)庫角色成員身份欄中,用戶可以根據(jù)需求,在數(shù)據(jù)庫角色前的復(fù)選框中打鉤,為數(shù)據(jù)庫用戶添加相應(yīng)的數(shù)據(jù)庫角色,單擊“確定按鈕完成添加。3查看固定數(shù)據(jù)庫角色的成員。在“對象資源管理器中,在pxscj數(shù)據(jù)庫下的“平安性“角色“數(shù)據(jù)庫角色目錄下,選擇“數(shù)據(jù)庫角色,如“db_owner,右擊選擇“屬性菜單項(xiàng),在“屬性窗口中的“角色成員欄下可以看到該數(shù)據(jù)庫角色的成員列表。10.3.2 固定數(shù)據(jù)庫角色2利用系統(tǒng)存儲過程添加固定數(shù)據(jù)庫角色成員利用系統(tǒng)存儲過程sp_addrolemember可以將一個數(shù)據(jù)庫用戶添加到某一固定數(shù)據(jù)庫角色中,使其成為該
26、固定數(shù)據(jù)庫角色的成員。語法格式:sp_addrolemember 角色名 = role, 成員名 = security_account參數(shù)含義:role為當(dāng)前數(shù)據(jù)庫中的數(shù)據(jù)庫角色的稱號。security_account為添加到該角色的平安賬戶,可以是數(shù)據(jù)庫用戶或當(dāng)前數(shù)據(jù)庫角色。【例10.5】 將pxscj數(shù)據(jù)庫上的數(shù)據(jù)庫用戶User_sql_tao、User_tao添加為固定數(shù)據(jù)庫角色db_owner的成員。USE pxscjGOEXEC sp_addrolemember db_owner, User_SQL_taoEXEC sp_addrolemember db_owner, User_ta
27、o10.3.2 固定數(shù)據(jù)庫角色3利用系統(tǒng)存儲過程刪除固定數(shù)據(jù)庫角色成員利用系統(tǒng)存儲過程sp_droprolemember可以將某一成員從固定數(shù)據(jù)庫角色中去除。語法格式:sp_droprolemember 角色名 = role , 成員名 = security_account例如,將數(shù)據(jù)庫用戶User_SQL_tao從db_owner中去除。EXEC sp_droprolemember db_owner, User_SQL_taoEXEC sp_droprolemember db_owner, User_tao10.3.3 自定義數(shù)據(jù)庫角色:CREATE/DROP ROLE1界面方式創(chuàng)建數(shù)據(jù)庫角
28、色1創(chuàng)建數(shù)據(jù)庫角色。以Windows系統(tǒng)管理員身份銜接SQL Server,在“對象資源管理器中展開“數(shù)據(jù)庫,選擇要創(chuàng)建角色的數(shù)據(jù)庫如pxscj,展開其中的“平安性“角色,右擊鼠標(biāo),在彈出的快捷菜單中選擇“新建菜單項(xiàng),在彈出的子菜單中選擇“新建數(shù)據(jù)庫角色菜單項(xiàng),進(jìn)入“數(shù)據(jù)庫角色-新建窗口。在“數(shù)據(jù)庫角色-新建窗口中,選擇“常規(guī)選項(xiàng)頁,輸入要定義的角色稱號如ROLE1,一切者默以為dbo。直接單擊“確定按鈕,完成數(shù)據(jù)庫角色的創(chuàng)建,如圖10.11所示。10.3.3 自定義數(shù)據(jù)庫角色:CREATE/DROP ROLE圖10.11 新建數(shù)據(jù)庫角色10.3.3 自定義數(shù)據(jù)庫角色:CREATE/DROP
29、ROLE2將數(shù)據(jù)庫用戶參與數(shù)據(jù)庫角色。將用戶參與自定義數(shù)據(jù)庫角色的方法與將用戶參與固定數(shù)據(jù)庫角色的方法類似。例如,將pxscj數(shù)據(jù)庫的用戶User_tao參與ROLE1角色。此時數(shù)據(jù)庫角色ROLE1的成員還沒有任何的權(quán)限,當(dāng)授予數(shù)據(jù)庫角色權(quán)限時,這個角色的成員也將獲得一樣的權(quán)限。當(dāng)數(shù)據(jù)庫用戶成為某一數(shù)據(jù)庫角色的成員之后,該數(shù)據(jù)庫用戶就獲得該數(shù)據(jù)庫角色所擁有的對數(shù)據(jù)庫操作的權(quán)限。10.3.3 自定義數(shù)據(jù)庫角色:CREATE/DROP ROLE2命令創(chuàng)建數(shù)據(jù)庫角色1定義數(shù)據(jù)庫角色。創(chuàng)建用戶自定義數(shù)據(jù)庫角色可以運(yùn)用CREATE ROLE語句。語法格式:CREATE ROLE 角色名 AUTHORIZ
30、ATION 一切者名 【例10.6】 在當(dāng)前數(shù)據(jù)庫中創(chuàng)建名為ROLE2的新角色,并指定dbo為該角色的一切者。USE pxscjGOCREATE ROLE ROLE2 AUTHORIZATION dbo2給數(shù)據(jù)庫角色添加成員。向用戶定義數(shù)據(jù)庫角色添加成員也運(yùn)用存儲過程sp_ addrolemember,用法與之前引見的根本一樣?!纠?0.7】 將SQL Server登錄名創(chuàng)建的pxscj的數(shù)據(jù)庫用戶User_SQL_tao添加到數(shù)據(jù)庫角色ROLE1中。將數(shù)據(jù)庫角色ROLE2添加到ROLE1中。EXEC sp_addrolemember ROLE1,User_SQL_taoEXEC sp_add
31、rolemember ROLE1,ROLE210.3.3 自定義數(shù)據(jù)庫角色:CREATE/DROP ROLE3命令刪除數(shù)據(jù)庫角色要刪除數(shù)據(jù)庫角色可以運(yùn)用DROP ROLE語句。語法格式:DROP ROLE 角色名其中,“角色名為要刪除的數(shù)據(jù)庫角色的稱號?!纠?0.8】 刪除數(shù)據(jù)庫角色ROLE2。在刪除ROLE2之前,首先需求將ROLE2中的成員刪除,可以運(yùn)用界面方式,也可以運(yùn)用命令方式。假設(shè)運(yùn)用界面方式,只需在ROLE2的屬性頁中操作即可。確認(rèn)ROLE2可以刪除后,運(yùn)用以下命令刪除ROLE2:DROP ROLE ROLE210.3.4 運(yùn)用程序角色創(chuàng)建運(yùn)用程序角色步驟如下:1以系統(tǒng)管理員身份銜
32、接SQL Server,在“對象資源管理器窗口中展開“數(shù)據(jù)庫“pxscj“平安性“角色,右擊“運(yùn)用程序角色,選擇“新建運(yùn)用程序角色。2在“運(yùn)用程序角色-新建窗口中輸入運(yùn)用程序角色稱號“APPRole,默許架構(gòu)“dbo,設(shè)置密碼為“123,如圖10.12所示。10.3.4 運(yùn)用程序角色圖10.12 新建運(yùn)用程序角色常規(guī)10.3.4 運(yùn)用程序角色在“平安對象選項(xiàng)頁中,可以單擊“搜索按鈕,添加“特定對象,選擇對象為xsb表。單擊“確定按鈕回到“平安對象選項(xiàng)頁中,授予xsb表的“選擇權(quán)限如圖10.13所示,完成后單擊“確定按鈕。10.3.4 運(yùn)用程序角色3添加User_SQL_tao用戶為db_den
33、ydatareader數(shù)據(jù)庫角色的成員,運(yùn)用“SQL_tao登錄名銜接SQL Server。以后,在查詢窗口中輸入如下語句:USE pxscjGOSELECT * FROM xsb運(yùn)轉(zhuǎn)結(jié)果顯示出錯信息。4運(yùn)用系統(tǒng)存儲過程sp_setapprole激活運(yùn)用程序角色,語句如下:EXEC sp_setapprole APPRole, 1235在查詢窗口中重新輸入第3步中的查詢語句,勝利地執(zhí)行了查詢。10.4 數(shù)據(jù)庫權(quán)限的管理10.4.1 授予權(quán)限:GRANT1以命令方式授予權(quán)限利用GRANT語句可以給數(shù)據(jù)庫用戶或數(shù)據(jù)庫角色授予數(shù)據(jù)庫級別或?qū)ο蠹墑e的權(quán)限。語法格式:GRANT ALL PRIVILEG
34、ES | 權(quán)限 ( 列 , . ) , . ON 平安對象 TO 主體 , . WITH GRANT OPTION AS 主體 【例10.9】 給pxscj數(shù)據(jù)庫上的用戶User_liu和User_SQL_liu授予創(chuàng)建表的權(quán)限。以系統(tǒng)管理員sa身份登錄SQL Server,新建一個查詢,輸入以下語句:USE pxscjGOGRANT CREATE TABLE TO User_liu, User_SQL_liu, Role1GO闡明:授予數(shù)據(jù)庫級權(quán)限時,CREATE DATABASE權(quán)限只能在master數(shù)據(jù)庫中被授予。10.4.1 授予權(quán)限:GRANT【例10.10】 首先在pxscj數(shù)據(jù)庫
35、中給public角色授予xsb表的SELECT權(quán)限。然后,將其他一些權(quán)限授予用戶User_liu和User_SQL_liu,運(yùn)用戶有對xsb表的一切操作權(quán)限。以系統(tǒng)管理員身份登錄SQL Server,新建一個查詢,輸入以下語句:USE pxscjGOGRANT SELECT ON xsb TO public, Role2GO GRANT INSERT, UPDATE, DELETE, REFERENCES ON xsb TO User_liu, User_SQL_liuGO10.4.1 授予權(quán)限:GRANT2以界面方式授予語句權(quán)限1授予數(shù)據(jù)庫的權(quán)限【例10.11】 數(shù)據(jù)庫用戶User_SQL_
36、tao授予pxscj數(shù)據(jù)庫的CREATE TABLE語句的權(quán)限即創(chuàng)建表的權(quán)限。1選擇“pxscj數(shù)據(jù)庫,右擊鼠標(biāo),選擇“屬性菜單項(xiàng)進(jìn)入pxscj數(shù)據(jù)庫的“數(shù)據(jù)庫屬性窗口,選擇“權(quán)限頁。在“用戶或角色欄中選擇需求授予權(quán)限的用戶或角色:User_SQL_tao,在窗口下方列出的“權(quán)限列表中找到相應(yīng)的權(quán)限:創(chuàng)建表,在復(fù)選框中打鉤,單擊“確定按鈕即可完成,如圖10.14所示。2假設(shè)需求授予權(quán)限的用戶在列出的“用戶或角色列表中不存在,那么可以單擊“搜索按鈕將該用戶添加到列表中再選擇。單擊“有效選項(xiàng)卡可以查看該用戶在當(dāng)前數(shù)據(jù)庫中有哪些權(quán)限。10.4.1 授予權(quán)限:GRANT圖10.14 “數(shù)據(jù)庫屬性窗口1
37、0.4.1 授予權(quán)限:GRANT2授予數(shù)據(jù)庫對象上的權(quán)限【例10.12】 給數(shù)據(jù)庫用戶User_SQL_tao授予kcb表上的SELECT、INSERT的權(quán)限。1選擇“pxscj數(shù)據(jù)庫“表“kcb,右擊鼠標(biāo),選擇“屬性菜單項(xiàng)進(jìn)入kcb表的屬性窗口,選擇“權(quán)限選項(xiàng)頁。2單擊“搜索按鈕,在彈出的“選擇用戶或角色窗口中單擊“閱讀按鈕,選擇需求授權(quán)的用戶或角色:User_SQL_tao,選擇后單擊“確定按鈕回到kcb表的“表屬性窗口。3如圖10.15所示,在“權(quán)限列表中選擇需求授予的權(quán)限,如“插入,單擊“確定按鈕完成授權(quán)。4假設(shè)要授予用戶在表的列上的SELECT權(quán)限,可以選擇“選擇權(quán)限后單擊“列權(quán)限按
38、鈕,在彈出的“列權(quán)限對話框中選擇要授予權(quán)限的列。10.4.2 回絕權(quán)限運(yùn)用DENY命令可以回絕給當(dāng)前數(shù)據(jù)庫內(nèi)的用戶授予的權(quán)限,并防止數(shù)據(jù)庫用戶經(jīng)過其組或角色成員資歷承繼權(quán)限。語法格式:DENY ALL PRIVILEGES | 權(quán)限 ( 列 , . ) , . ON 平安對象 TO 主體 , . CASCADE AS 主體 【例10.13】 對User_SQL_liu用戶和ROLE2角色成員不允許運(yùn)用CREATE VIEW和CREATE TABLE語句。DENY CREATE VIEW, CREATE TABLE TO User_SQL_liu, ROLE2GO10.4.2 回絕權(quán)限【例10.
39、14】 回絕用戶User_SQL_liu、PC-202112101514liu對xsb表的一些權(quán)限,這樣,這些用戶就沒有對xsb表的操作權(quán)限了。USE pxscjGODENY SELECT, INSERT, UPDATE, DELETE ON xsb TO User_SQL_liu, PC-202112101514liuGO10.4.3 撤銷權(quán)限利用REVOKE命令可撤銷以前給當(dāng)前數(shù)據(jù)庫用戶授予或回絕的權(quán)限。語法格式:REVOKE GRANT OPTION FOR ALL PRIVILEGES | 權(quán)限 ( 列 , . ) , . ON 平安對象 TO | FROM 主體 , . CASCADE AS 主體 10.4.3 撤銷權(quán)限【例10.15】 取消已授予用戶權(quán)限。1取消授予多個用戶的多個語句權(quán)限。REVOKE CREATE TABLE, CREATE DEFAULT FROM User_liu, User_SQL_liuGO2取消User_liu授予或回絕的在xsb表上的SELECT權(quán)限。REVOKE SELECT ON xsb FROM User_liu10.5 數(shù)據(jù)庫架構(gòu)的定義和運(yùn)用10.5.1 以界面方式創(chuàng)建架構(gòu)1創(chuàng)建架構(gòu)【例10.16】在pxscj數(shù)據(jù)庫中創(chuàng)建架構(gòu)。步驟如下:1以系統(tǒng)管理員身份登錄SQLServer,在“對象資源管理器中展開“數(shù)據(jù)庫“p
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度云南省高校教師資格證之高等教育學(xué)題庫附答案(基礎(chǔ)題)
- 數(shù)據(jù)中心安全管理方案
- 2024年工廠化育苗精量播種生產(chǎn)設(shè)備項(xiàng)目投資申請報(bào)告代可行性研究報(bào)告
- 贛南師范大學(xué)《數(shù)學(xué)課程標(biāo)準(zhǔn)與教材分析》2022-2023學(xué)年第一學(xué)期期末試卷
- 贛南師范大學(xué)《廣告學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《制藥過程安全與環(huán)?!?021-2022學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《婚姻家庭與繼承法》2022-2023學(xué)年第一學(xué)期期末試卷
- 蘇教版科學(xué)四年級下冊表格式教案1
- 福建師范大學(xué)協(xié)和學(xué)院《社會學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 專題39 帶電粒子在電場運(yùn)動(一)(含答案)-十年(2014-2023)高考物理真題分項(xiàng)匯編(全國用)
- 第一講 偉大事業(yè)都始于夢想(課件)
- 信陽市中心城區(qū)集中供熱項(xiàng)目環(huán)評報(bào)告
- 吊裝板房施工方案
- 中等職業(yè)學(xué)?!稊?shù)學(xué)》課程標(biāo)準(zhǔn)
- 學(xué)校食堂出入庫管理制度
- 護(hù)士抽錯血原因及整改
- 消防車吉普達(dá)課件
- 支氣管鏡檢查及常用介入技術(shù)課件
- 2023年1月浙江新高考英語讀后續(xù)寫試題范文賞析(優(yōu)選三篇)
- 八年級上冊語文課后習(xí)題及答案匯編(部分不全)
- 考古學(xué)課件-單元1(夏商周考古概況)
評論
0/150
提交評論