版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第10章章 系統(tǒng)安全管理系統(tǒng)安全管理10.1 SQL Server 2014的安全機(jī)制的安全機(jī)制10.2 建立和管理用戶賬戶建立和管理用戶賬戶10.3 角角 色色 管管 理理10.4 數(shù)據(jù)庫(kù)權(quán)限的管理數(shù)據(jù)庫(kù)權(quán)限的管理10.5 數(shù)據(jù)庫(kù)架構(gòu)的定義和使用數(shù)據(jù)庫(kù)架構(gòu)的定義和使用10.1 SQL Server 2014的安全機(jī)制的安全機(jī)制10.1.1 SQL Server 身份驗(yàn)證模式身份驗(yàn)證模式身份驗(yàn)證模式是指系統(tǒng)確認(rèn)用戶的方式。SQL Server有兩種身份驗(yàn)證模式:Windows驗(yàn)證模式和SQL Server驗(yàn)證模式。這是在安裝SQL Server的過(guò)程中由“數(shù)據(jù)庫(kù)引擎配置”確定的,如圖10.1
2、所示。10.1.1 SQL Server 身份驗(yàn)證模式身份驗(yàn)證模式1Windows驗(yàn)證模式驗(yàn)證模式用戶登錄Windows時(shí)進(jìn)行身份驗(yàn)證,登錄SQL Server時(shí)就不再進(jìn)行身份驗(yàn)證了。注意:(1)必須將Windows賬戶加入到SQL Server中,才能采用Windows賬戶登錄SQL Server。(2)如果使用Windows賬戶登錄到另一個(gè)網(wǎng)絡(luò)的SQL Server,則必須在Windows中設(shè)置彼此的托管權(quán)限。2SQL Server驗(yàn)證模式驗(yàn)證模式在SQL Server驗(yàn)證模式下,SQL Server服務(wù)器要對(duì)登錄的用戶進(jìn)行身份驗(yàn)證。系統(tǒng)管理員必須設(shè)定登錄驗(yàn)證模式的類型為混合驗(yàn)證模式。當(dāng)采
3、用混合模式時(shí),SQL Server系統(tǒng)既允許使用Windows登錄名登錄,也允許使用SQL Server登錄名登錄。10.1.2 SQL Server安全性機(jī)制安全性機(jī)制1服務(wù)器級(jí)別服務(wù)器級(jí)別服務(wù)器級(jí)別所包含的安全對(duì)象主要有登錄名、固定服務(wù)器角色等。其中,登錄名用于登錄數(shù)據(jù)庫(kù)服務(wù)器,而固定服務(wù)器角色用于給登錄名賦予相應(yīng)的服務(wù)器權(quán)限。SQL Server中的登錄名主要有兩種:第一種是Windows登錄名,第二種是SQL Server登錄名。Windows登錄名對(duì)應(yīng)Windows驗(yàn)證模式,該驗(yàn)證模式所涉及的賬戶類型主要有Windows本地用戶賬戶、Windows域用戶賬戶、Windows組。2數(shù)據(jù)
4、庫(kù)級(jí)別數(shù)據(jù)庫(kù)級(jí)別數(shù)據(jù)庫(kù)級(jí)別所包含的安全對(duì)象主要有用戶、角色、應(yīng)用程序角色、證書、對(duì)稱密鑰、非對(duì)稱密鑰、程序集、全文目錄、DDL事件、架構(gòu)等。用戶安全對(duì)象是用來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的。如果某人只擁有登錄名,而沒(méi)有在相應(yīng)的數(shù)據(jù)庫(kù)中為其創(chuàng)建登錄名所對(duì)應(yīng)的用戶,則該用戶只能登錄數(shù)據(jù)庫(kù)服務(wù)器,而不能訪問(wèn)相應(yīng)的數(shù)據(jù)庫(kù)。10.1.2 SQL Server安全性機(jī)制安全性機(jī)制3架構(gòu)級(jí)別架構(gòu)級(jí)別架構(gòu)級(jí)別所包含的安全對(duì)象有表、視圖、函數(shù)、存儲(chǔ)過(guò)程、類型、同義詞、聚合函數(shù)等。在創(chuàng)建這些對(duì)象時(shí)可設(shè)定架構(gòu),若不設(shè)定則系統(tǒng)默認(rèn)架構(gòu)為dbo。數(shù)據(jù)庫(kù)用戶只能對(duì)屬于自己架構(gòu)中的數(shù)據(jù)庫(kù)對(duì)象執(zhí)行相應(yīng)的數(shù)據(jù)操作。至于操作的權(quán)限則由數(shù)據(jù)庫(kù)角色決
5、定。例如,若某數(shù)據(jù)庫(kù)中的表A屬于架構(gòu)S1,表B屬于架構(gòu)S2,而某用戶默認(rèn)的架構(gòu)為S2,如果沒(méi)有授予用戶操作表A的權(quán)限,則該用戶不能對(duì)表A執(zhí)行相應(yīng)的數(shù)據(jù)操作。但是,該用戶可以對(duì)表B執(zhí)行相應(yīng)的操作。10.1.3 SQL Server數(shù)據(jù)庫(kù)安全驗(yàn)證過(guò)程數(shù)據(jù)庫(kù)安全驗(yàn)證過(guò)程一個(gè)用戶如果要對(duì)某一數(shù)據(jù)庫(kù)進(jìn)行操作,則必須滿足以下三個(gè)條件:(1)登錄SQL Server服務(wù)器時(shí)必須通過(guò)身份驗(yàn)證。(2)必須是該數(shù)據(jù)庫(kù)的用戶,或者是某一數(shù)據(jù)庫(kù)角色的成員。(3)必須有對(duì)數(shù)據(jù)庫(kù)對(duì)象執(zhí)行該操作的權(quán)限。10.1.3 SQL Server數(shù)據(jù)庫(kù)安全驗(yàn)證過(guò)程數(shù)據(jù)庫(kù)安全驗(yàn)證過(guò)程不管使用哪種驗(yàn)證方式,用戶都必須具備有效的Windo
6、ws用戶登錄名。SQL Server有兩個(gè)常用的默認(rèn)登錄名:sa和計(jì)算機(jī)名Windows管理員賬戶名。其中,sa是系統(tǒng)管理員,在SQL Server中擁有系統(tǒng)和數(shù)據(jù)庫(kù)的所有權(quán)限,如圖10.2所示。10.2 建立和管理用戶賬戶建立和管理用戶賬戶10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶1建立建立Windows驗(yàn)證模式的登錄名驗(yàn)證模式的登錄名(1)創(chuàng)建Windows的用戶。以管理員身份登錄到Windows,打開控制面板,完成新用戶“l(fā)iu”的創(chuàng)建。(2)將Windows賬戶加入到SQL Server中。以管理員身份登錄到“SSMS”,在“對(duì)象資源管理器”中,在“安全性”下選擇“登錄
7、名”項(xiàng)。右擊鼠標(biāo),在彈出的快捷菜單中選擇“新建登錄名”,打開“登錄名-新建”窗口??梢酝ㄟ^(guò)單擊“常規(guī)”選項(xiàng)頁(yè)的“搜索”按鈕,在“選擇用戶或組”對(duì)話框的“輸入要選擇的對(duì)象名稱”中輸入“l(fā)iu”,然后單擊“檢查名稱”按鈕,系統(tǒng)生成“PC-201412101514liu”(如圖10.3所示),單擊“確定”按鈕,回到“登錄名-新建”窗口。10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶在登錄名中就會(huì)顯示完整名稱。選擇默認(rèn)數(shù)據(jù)庫(kù)為“pxscj”,如圖10.4所示。10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶2建立建立SQL Server驗(yàn)證模式的登錄名驗(yàn)證模式的登錄名(1)將驗(yàn)證
8、模式設(shè)為混合模式。以系統(tǒng)管理員身份登錄“SSMS”,在“對(duì)象資源管理器”中選擇要登錄的SQL Server服務(wù)器圖標(biāo),右擊鼠標(biāo),在彈出的快捷菜單中選擇“屬性”菜單項(xiàng),打開“服務(wù)器屬性”窗口。選擇“安全性”選項(xiàng)頁(yè)。選擇服務(wù)器身份驗(yàn)證為“SQL Server和Windows身份驗(yàn)證模式”,如圖10.5所示。10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶(2)創(chuàng)建SQL Server驗(yàn)證模式的登錄名。在“對(duì)象資源管理器”中“安全性”下的“登錄名”上按右鍵,選擇“新建登錄名”,系統(tǒng)顯示“登錄名-新建”對(duì)話框。選擇“SQL Server 身份驗(yàn)證”, 登錄名輸入“SQL_liu”,輸入密碼和
9、確認(rèn)密碼“123”, 并將“強(qiáng)制密碼過(guò)期”復(fù)選框中的鉤去掉,默認(rèn)數(shù)據(jù)庫(kù)為“pxscj”,如圖10.6所示。單擊“確定”按鈕即可。10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶3管理數(shù)據(jù)庫(kù)用戶管理數(shù)據(jù)庫(kù)用戶(1)以登錄名新建數(shù)據(jù)庫(kù)用戶。以系統(tǒng)管理員身份連接SQL Server,展開“數(shù)據(jù)庫(kù)”這里可選“pxscj”“安全性”,選擇“用戶”,右擊鼠標(biāo),選擇“新建用戶”菜單項(xiàng),進(jìn)入“數(shù)據(jù)庫(kù)用戶-新建”窗口。在“登錄名”框中填寫一個(gè)能夠登錄SQL Server的登錄名,如“SQL_liu”。在“用戶名”框中填寫一個(gè)數(shù)據(jù)庫(kù)用戶名“User_SQL_liu”。 一個(gè)登錄名在本數(shù)據(jù)庫(kù)中只能創(chuàng)建一個(gè)
10、數(shù)據(jù)庫(kù)用戶。這里可選擇默認(rèn)架構(gòu)為dbo,如圖10.7所示。10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶圖10.7 新建數(shù)據(jù)庫(kù)用戶(SQL Server登錄名)10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶也可采用上述方法在pxscj數(shù)據(jù)庫(kù)下新建Windows登錄名“l(fā)iu”對(duì)應(yīng)的用戶“User_liu”,如圖10.8所示。10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶(2)數(shù)據(jù)庫(kù)用戶顯示。)數(shù)據(jù)庫(kù)用戶顯示。數(shù)據(jù)庫(kù)用戶創(chuàng)建成功后,可以通過(guò)選擇“pxscj”“安全性”,選擇“用戶”欄查看到該用戶。在“用戶”列表中,還可以修改現(xiàn)有數(shù)據(jù)庫(kù)用戶的屬性,或者刪除該用戶
11、。(3)以)以SQL Server登錄名連接登錄名連接SQL Server。重啟SQL Server,在對(duì)話框的“身份驗(yàn)證”框中選擇“SQL Server身份驗(yàn)證”,“登錄名”填寫為“SQL_liu”,輸入密碼“123”,單擊“連接”按鈕,即可連接SQL Server,如圖10.9所示。10.2.1 以界面方式管理用戶賬戶以界面方式管理用戶賬戶此時(shí)的“對(duì)象資源管理器”如圖10.10所示。10.2.2 以命令方式管理用戶賬戶:以命令方式管理用戶賬戶:CREATE LOGIN/USER1登錄名創(chuàng)建登錄名創(chuàng)建1)創(chuàng)建登錄名)創(chuàng)建登錄名語(yǔ)法格式:CREATE LOGIN 登錄名 WITH PASSWO
12、RD = 密碼 HASHED MUST_CHANGE , , . /*WITH子句用于創(chuàng)建SQL Server登錄名*/ | FROM/*FROM子句用于創(chuàng)建其他登錄名*/ WINDOWS WITH , . | CERTIFICATE證書名 | ASYMMETRIC KEY 非對(duì)稱密鑰名 10.2.2 以命令方式管理用戶賬戶:以命令方式管理用戶賬戶:CREATE LOGIN/USER其中: := SID = 登錄GUID | DEFAULT_DATABASE = 數(shù)據(jù)庫(kù) | DEFAULT_LANGUAGE = 語(yǔ)言 | CHECK_EXPIRATION = ON | OFF | CHECK_
13、POLICY = ON | OFF CREDENTIAL = 憑據(jù)名 := DEFAULT_DATABASE = 數(shù)據(jù)庫(kù) | DEFAULT_LANGUAGE = 語(yǔ)言10.2.2 以命令方式管理用戶賬戶:以命令方式管理用戶賬戶:CREATE LOGIN/USER(1)創(chuàng)建)創(chuàng)建Windows驗(yàn)證模式登錄名。驗(yàn)證模式登錄名。創(chuàng)建Windows登錄名使用FROM子句,在FROM子句的語(yǔ)法格式中,WINDOWS關(guān)鍵字指定將登錄名映射到Windows登錄名,其中,為創(chuàng)建Windows登錄名的選項(xiàng),DEFAULT_DATABASE指定默認(rèn)數(shù)據(jù)庫(kù),DEFAULT_LANGUAGE指定默認(rèn)語(yǔ)言?!纠?0.
14、1】 以命令方式創(chuàng)建Windows登錄名tao(假設(shè)Windows用戶tao已經(jīng)創(chuàng)建,本地計(jì)算機(jī)名為“PC-201412101514”),默認(rèn)數(shù)據(jù)庫(kù)設(shè)為pxscj。USE pxscjGOCREATE LOGIN PC-201412101514tao FROM WINDOWS WITH DEFAULT_DATABASE= pxscj命令執(zhí)行成功后,在“登錄名”“安全性”列表上就可以查看到該登錄名。10.2.2 以命令方式管理用戶賬戶:以命令方式管理用戶賬戶:CREATE LOGIN/USER(2)創(chuàng)建)創(chuàng)建SQL Server驗(yàn)證模式登錄名。驗(yàn)證模式登錄名。創(chuàng)建SQL Server登錄名使用WI
15、TH子句,其中,PASSWORD:用于指定正在創(chuàng)建的登錄名的密碼,“密碼”為密碼字符串。HASHED 選項(xiàng)指定在PASSWORD參數(shù)后輸入的密碼已經(jīng)過(guò)哈希運(yùn)算。:用于指定在創(chuàng)建SQL Server登錄名時(shí)的如下選項(xiàng)。 SID:指定新SQL Server登錄名的全局唯一標(biāo)識(shí)符。如果未選擇此選項(xiàng),則自動(dòng)指派。 DEFAULT_DATABASE:指定默認(rèn)數(shù)據(jù)庫(kù)。如果未指定此選項(xiàng),則默認(rèn)數(shù)據(jù)庫(kù)將設(shè)置為master。 DEFAULT_LANGUAGE:指定默認(rèn)語(yǔ)言。如果未指定此選項(xiàng),則默認(rèn)語(yǔ)言將設(shè)置為服務(wù)器的當(dāng)前默認(rèn)語(yǔ)言。 CHECK_EXPIRATION:指定是否對(duì)此登錄名強(qiáng)制實(shí)施密碼過(guò)期策略,默認(rèn)值
16、為OFF。 CHECK_POLICY:指定應(yīng)對(duì)此登錄名強(qiáng)制實(shí)施運(yùn)行SQL Server的計(jì)算機(jī)的Windows密碼策略,默認(rèn)值為ON?!纠?0.2】 創(chuàng)建SQL Server登錄名SQL_tao,密碼為123456,默認(rèn)數(shù)據(jù)庫(kù)設(shè)為pxscj。CREATE LOGIN SQL_tao WITH PASSWORD=123456, DEFAULT_DATABASE=pxscj10.2.2 以命令方式管理用戶賬戶:以命令方式管理用戶賬戶:CREATE LOGIN/USER2)刪除登錄名)刪除登錄名刪除登錄名使用DROP LOGIN命令。語(yǔ)法格式:DROP LOGIN 登錄名例如,刪除Windows登錄
17、名tao 和SQL Server登錄名SQL_tao。DROP LOGIN PC-201412101514taoDROP LOGIN SQL_tao10.2.2 以命令方式管理用戶賬戶:以命令方式管理用戶賬戶:CREATE LOGIN/USER2數(shù)據(jù)庫(kù)用戶創(chuàng)建數(shù)據(jù)庫(kù)用戶創(chuàng)建1)創(chuàng)建數(shù)據(jù)庫(kù)用戶)創(chuàng)建數(shù)據(jù)庫(kù)用戶創(chuàng)建數(shù)據(jù)庫(kù)用戶使用CREATE USER命令。語(yǔ)法格式:CREATE USER 用戶名 FOR | FROM LOGIN 登錄名 | CERTIFICATE 證書名 | ASYMMETRIC KEY 非對(duì)稱密鑰名| WITHOUT LOGIN WITH DEFAULT_SCHEMA = 架構(gòu)
18、名 10.2.2 以命令方式管理用戶賬戶:以命令方式管理用戶賬戶:CREATE LOGIN/USER【例10.3】 使用SQL Server登錄名SQL_tao和Windows登錄名PC-201412101514tao在pxscj數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)用戶User_SQL_tao和User_tao,默認(rèn)架構(gòu)名使用dbo。USE pxscjGOCREATE USER User_SQL_tao FOR LOGIN SQL_tao WITH DEFAULT_SCHEMA=dboCREATE USER User_tao FOR LOGIN PC-201412101514tao WITH DEFAULT_S
19、CHEMA=dbo命令執(zhí)行成功后,可以在數(shù)據(jù)庫(kù)pxscj的“安全性”下的“用戶”列表中查看到該數(shù)據(jù)庫(kù)用戶。10.2.2 以命令方式管理用戶賬戶:以命令方式管理用戶賬戶:CREATE LOGIN/USER2)刪除數(shù)據(jù)庫(kù)用戶)刪除數(shù)據(jù)庫(kù)用戶刪除數(shù)據(jù)庫(kù)用戶使用DROP USER語(yǔ)句。語(yǔ)法格式:DROP USER 用戶名“用戶名”為要?jiǎng)h除的數(shù)據(jù)庫(kù)用戶名,在刪除之前要使用USE語(yǔ)句指定數(shù)據(jù)庫(kù)。例如,刪除pxscj數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)用戶User_SQL_tao。USE pxscjGODROP USER User_SQL_tao, User_tao10.3 角角 色色 管管 理理10.3.1 固定服務(wù)器角色固定
20、服務(wù)器角色SQL Server提供了以下固定服務(wù)器角色。(1)sysadmin:系統(tǒng)管理員,角色成員可對(duì)SQL Server服務(wù)器進(jìn)行所有的管理工作,為最高管理角色。(2)securityadmin:安全管理員,角色成員可以管理登錄名及其屬性,可以授予、拒絕、撤銷服務(wù)器級(jí)和數(shù)據(jù)庫(kù)級(jí)的權(quán)限,還可以重置SQL Server登錄名的密碼。(3)serveradmin:服務(wù)器管理員,角色成員具有對(duì)服務(wù)器進(jìn)行設(shè)置及關(guān)閉服務(wù)器的權(quán)限。(4)setupadmin:設(shè)置管理員,角色成員可以添加和刪除鏈接服務(wù)器,并執(zhí)行某些系統(tǒng)存儲(chǔ)過(guò)程。(5)processadmin:進(jìn)程管理員,角色成員可以終止SQL Serv
21、er實(shí)例中運(yùn)行的進(jìn)程。(6)diskadmin:用于管理磁盤文件。(7)dbcreator:數(shù)據(jù)庫(kù)創(chuàng)建者,角色成員可以創(chuàng)建、更改、刪除或還原任何數(shù)據(jù)庫(kù)。(8)bulkadmin:可執(zhí)行BULK INSERT語(yǔ)句,但是這些成員對(duì)要插入數(shù)據(jù)的表必須有INSERT權(quán)限。(9)public:其角色成員可以查看任何數(shù)據(jù)庫(kù)。10.3.1 固定服務(wù)器角色固定服務(wù)器角色1界面方式添加服務(wù)器角色成員界面方式添加服務(wù)器角色成員(1)以系統(tǒng)管理員身份登錄到SQL Server服務(wù)器,在“對(duì)象資源管理器”中展開“安全性”“登錄名”,選擇登錄名,例如“PC-201412101514tao”,雙擊或右擊選擇“屬性”菜單項(xiàng)
22、,打開“登錄屬性”窗口。(2)在打開的“登錄屬性”窗口中選擇“服務(wù)器角色”選項(xiàng)頁(yè),在“登錄屬性”窗口右邊列出了所有的固定服務(wù)器角色,用戶可以根據(jù)需要,在服務(wù)器角色前的復(fù)選框中打鉤,來(lái)為登錄名添加相應(yīng)的服務(wù)器角色。此處默認(rèn)已經(jīng)選擇了“public”服務(wù)器角色。單擊“確定”按鈕完成添加。10.3.1 固定服務(wù)器角色固定服務(wù)器角色2利用利用“系統(tǒng)存儲(chǔ)過(guò)程系統(tǒng)存儲(chǔ)過(guò)程”添加固定服務(wù)器角色成員添加固定服務(wù)器角色成員利用系統(tǒng)存儲(chǔ)過(guò)程sp_addsrvrolemember可將一登錄名添加到某一固定服務(wù)器角色中,使其成為固定服務(wù)器角色的成員。語(yǔ)法格式:sp_addsrvrolemember 登錄名 = log
23、in, 角色名 = role參數(shù)含義:login指定添加到固定服務(wù)器角色role的登錄名,login可以是SQL Server登錄名或Windows 登錄名;對(duì)于Windows登錄名,如果還沒(méi)有授予SQL Server訪問(wèn)權(quán)限,將自動(dòng)對(duì)其授予訪問(wèn)權(quán)限?!纠?0.4】 將SQL Server登錄名“SQL_tao”添加到sysadmin固定服務(wù)器角色中。EXEC sp_addsrvrolemember SQL_tao, sysadmin10.3.1 固定服務(wù)器角色固定服務(wù)器角色3利用利用“系統(tǒng)存儲(chǔ)過(guò)程系統(tǒng)存儲(chǔ)過(guò)程”刪除固定服務(wù)器角色成員刪除固定服務(wù)器角色成員利用sp_dropsrvrolemem
24、ber系統(tǒng)存儲(chǔ)過(guò)程可從固定服務(wù)器角色中刪除SQL Server 登錄名或Windows登錄名。語(yǔ)法格式:sp_dropsrvrolemember 登錄名 = login , 角色名 = role參數(shù)含義:login為將要從固定服務(wù)器角色刪除的登錄名。role為服務(wù)器角色名,默認(rèn)值為NULL,必須是有效的固定服務(wù)器角色名。例如,從sysadmin固定服務(wù)器角色中刪除SQL Server登錄名SQL_tao。EXEC sp_dropsrvrolemember SQL_tao, sysadmin10.3.2 固定數(shù)據(jù)庫(kù)角色固定數(shù)據(jù)庫(kù)角色(1)db_owner:數(shù)據(jù)庫(kù)所有者,這個(gè)數(shù)據(jù)庫(kù)角色的成員可執(zhí)行
25、數(shù)據(jù)庫(kù)的所有管理操作。(2)db_accessadmin:數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限管理者,角色成員具有增加、刪除數(shù)據(jù)庫(kù)使用者、數(shù)據(jù)庫(kù)角色和組的權(quán)限。(3)db_securityadmin:數(shù)據(jù)庫(kù)安全管理員,角色成員具有可管理數(shù)據(jù)庫(kù)中的權(quán)限,如設(shè)置數(shù)據(jù)庫(kù)表的增加、刪除、修改和查詢等存取權(quán)限。(4)db_ddladmin:數(shù)據(jù)庫(kù)DDL管理員,角色成員可增加、修改或刪除數(shù)據(jù)庫(kù)中的對(duì)象。(5)db_backupoperator:數(shù)據(jù)庫(kù)備份操作員,角色成員具有執(zhí)行數(shù)據(jù)庫(kù)備份的權(quán)限。(6)db_datareader:數(shù)據(jù)庫(kù)數(shù)據(jù)讀取者,角色成員可以從所有用戶表中讀取數(shù)據(jù)。(7)db_datawriter:數(shù)據(jù)庫(kù)數(shù)據(jù)寫
26、入者,角色成員具有對(duì)所有用戶表進(jìn)行增加、刪除、修改的權(quán)限。(8)db_denydatareader:數(shù)據(jù)庫(kù)拒絕數(shù)據(jù)讀取者,角色成員不能讀取數(shù)據(jù)庫(kù)中任何表的內(nèi)容。(9)db_denydatawriter:數(shù)據(jù)庫(kù)拒絕數(shù)據(jù)寫入者,角色成員不能對(duì)任何表進(jìn)行增加、刪除、修改操作。(10)public:一個(gè)特殊的數(shù)據(jù)庫(kù)角色,每個(gè)數(shù)據(jù)庫(kù)用戶都是public角色的成員,因此不能將用戶、組或角色指派為public角色的成員,也不能刪除public角色的成員。通常,將一些公共的權(quán)限賦給public角色。10.3.2 固定數(shù)據(jù)庫(kù)角色固定數(shù)據(jù)庫(kù)角色1以界面方式添加固定數(shù)據(jù)庫(kù)角色成員以界面方式添加固定數(shù)據(jù)庫(kù)角色成員(1
27、)以系統(tǒng)管理員身份登錄到SQL Server服務(wù)器,在“對(duì)象資源管理器”中展開“數(shù)據(jù)庫(kù)”“pxscj”“安全性”“用戶”,選擇一個(gè)數(shù)據(jù)庫(kù)用戶,如“User_tao”,雙擊或單擊右鍵選擇“屬性”菜單項(xiàng),打開“數(shù)據(jù)庫(kù)用戶”窗口。(2)在打開的窗口中,在“常規(guī)”選項(xiàng)頁(yè)的“數(shù)據(jù)庫(kù)角色成員身份”欄中,用戶可以根據(jù)需要,在數(shù)據(jù)庫(kù)角色前的復(fù)選框中打鉤,為數(shù)據(jù)庫(kù)用戶添加相應(yīng)的數(shù)據(jù)庫(kù)角色,單擊“確定”按鈕完成添加。(3)查看固定數(shù)據(jù)庫(kù)角色的成員。在“對(duì)象資源管理器”中,在pxscj數(shù)據(jù)庫(kù)下的“安全性”“角色”“數(shù)據(jù)庫(kù)角色”目錄下,選擇“數(shù)據(jù)庫(kù)角色”,如“db_owner”,右擊選擇“屬性”菜單項(xiàng),在“屬性”窗口
28、中的“角色成員”欄下可以看到該數(shù)據(jù)庫(kù)角色的成員列表。10.3.2 固定數(shù)據(jù)庫(kù)角色固定數(shù)據(jù)庫(kù)角色2利用系統(tǒng)存儲(chǔ)過(guò)程添加固定數(shù)據(jù)庫(kù)角色成員利用系統(tǒng)存儲(chǔ)過(guò)程添加固定數(shù)據(jù)庫(kù)角色成員利用系統(tǒng)存儲(chǔ)過(guò)程sp_addrolemember可以將一個(gè)數(shù)據(jù)庫(kù)用戶添加到某一固定數(shù)據(jù)庫(kù)角色中,使其成為該固定數(shù)據(jù)庫(kù)角色的成員。語(yǔ)法格式:sp_addrolemember 角色名 = role, 成員名 = security_account參數(shù)含義:role為當(dāng)前數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)角色的名稱。security_account為添加到該角色的安全賬戶,可以是數(shù)據(jù)庫(kù)用戶或當(dāng)前數(shù)據(jù)庫(kù)角色?!纠?0.5】 將pxscj數(shù)據(jù)庫(kù)上的數(shù)據(jù)庫(kù)
29、用戶User_sql_tao、User_tao添加為固定數(shù)據(jù)庫(kù)角色db_owner的成員。USE pxscjGOEXEC sp_addrolemember db_owner, User_SQL_taoEXEC sp_addrolemember db_owner, User_tao10.3.2 固定數(shù)據(jù)庫(kù)角色固定數(shù)據(jù)庫(kù)角色3利用系統(tǒng)存儲(chǔ)過(guò)程刪除固定數(shù)據(jù)庫(kù)角色成員利用系統(tǒng)存儲(chǔ)過(guò)程刪除固定數(shù)據(jù)庫(kù)角色成員利用系統(tǒng)存儲(chǔ)過(guò)程sp_droprolemember可以將某一成員從固定數(shù)據(jù)庫(kù)角色中去除。語(yǔ)法格式:sp_droprolemember 角色名 = role , 成員名 = security_accou
30、nt例如,將數(shù)據(jù)庫(kù)用戶User_SQL_tao從db_owner中去除。EXEC sp_droprolemember db_owner, User_SQL_taoEXEC sp_droprolemember db_owner, User_tao10.3.3 自定義數(shù)據(jù)庫(kù)角色:自定義數(shù)據(jù)庫(kù)角色:CREATE/DROP ROLE1界面方式創(chuàng)建數(shù)據(jù)庫(kù)角色界面方式創(chuàng)建數(shù)據(jù)庫(kù)角色(1)創(chuàng)建數(shù)據(jù)庫(kù)角色。)創(chuàng)建數(shù)據(jù)庫(kù)角色。以Windows系統(tǒng)管理員身份連接SQL Server,在“對(duì)象資源管理器”中展開“數(shù)據(jù)庫(kù)”,選擇要?jiǎng)?chuàng)建角色的數(shù)據(jù)庫(kù)(如pxscj),展開其中的“安全性”“角色”,右擊鼠標(biāo),在彈出的快捷菜
31、單中選擇“新建”菜單項(xiàng),在彈出的子菜單中選擇“新建數(shù)據(jù)庫(kù)角色”菜單項(xiàng),進(jìn)入“數(shù)據(jù)庫(kù)角色-新建”窗口。在“數(shù)據(jù)庫(kù)角色-新建”窗口中,選擇“常規(guī)”選項(xiàng)頁(yè),輸入要定義的角色名稱(如ROLE1),所有者默認(rèn)為dbo。直接單擊“確定”按鈕,完成數(shù)據(jù)庫(kù)角色的創(chuàng)建,如圖10.11所示。10.3.3 自定義數(shù)據(jù)庫(kù)角色:自定義數(shù)據(jù)庫(kù)角色:CREATE/DROP ROLE圖10.11 新建數(shù)據(jù)庫(kù)角色10.3.3 自定義數(shù)據(jù)庫(kù)角色:自定義數(shù)據(jù)庫(kù)角色:CREATE/DROP ROLE(2)將數(shù)據(jù)庫(kù)用戶加入數(shù)據(jù)庫(kù)角色。)將數(shù)據(jù)庫(kù)用戶加入數(shù)據(jù)庫(kù)角色。將用戶加入自定義數(shù)據(jù)庫(kù)角色的方法與將用戶加入固定數(shù)據(jù)庫(kù)角色的方法類似。例
32、如,將pxscj數(shù)據(jù)庫(kù)的用戶User_tao加入ROLE1角色。此時(shí)數(shù)據(jù)庫(kù)角色ROLE1的成員還沒(méi)有任何的權(quán)限,當(dāng)授予數(shù)據(jù)庫(kù)角色權(quán)限時(shí),這個(gè)角色的成員也將獲得相同的權(quán)限。當(dāng)數(shù)據(jù)庫(kù)用戶成為某一數(shù)據(jù)庫(kù)角色的成員之后,該數(shù)據(jù)庫(kù)用戶就獲得該數(shù)據(jù)庫(kù)角色所擁有的對(duì)數(shù)據(jù)庫(kù)操作的權(quán)限。10.3.3 自定義數(shù)據(jù)庫(kù)角色:自定義數(shù)據(jù)庫(kù)角色:CREATE/DROP ROLE2命令創(chuàng)建數(shù)據(jù)庫(kù)角色命令創(chuàng)建數(shù)據(jù)庫(kù)角色(1)定義數(shù)據(jù)庫(kù)角色。創(chuàng)建用戶自定義數(shù)據(jù)庫(kù)角色可以使用CREATE ROLE語(yǔ)句。語(yǔ)法格式:CREATE ROLE 角色名 AUTHORIZATION 所有者名 【例10.6】 在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建名為ROLE2
33、的新角色,并指定dbo為該角色的所有者。USE pxscjGOCREATE ROLE ROLE2 AUTHORIZATION dbo(2)給數(shù)據(jù)庫(kù)角色添加成員。向用戶定義數(shù)據(jù)庫(kù)角色添加成員也使用存儲(chǔ)過(guò)程sp_ addrolemember,用法與之前介紹的基本相同?!纠?0.7】 將SQL Server登錄名創(chuàng)建的pxscj的數(shù)據(jù)庫(kù)用戶User_SQL_tao添加到數(shù)據(jù)庫(kù)角色ROLE1中。將數(shù)據(jù)庫(kù)角色ROLE2添加到ROLE1中。EXEC sp_addrolemember ROLE1,User_SQL_taoEXEC sp_addrolemember ROLE1,ROLE210.3.3 自定義數(shù)
34、據(jù)庫(kù)角色:自定義數(shù)據(jù)庫(kù)角色:CREATE/DROP ROLE3命令刪除數(shù)據(jù)庫(kù)角色命令刪除數(shù)據(jù)庫(kù)角色要?jiǎng)h除數(shù)據(jù)庫(kù)角色可以使用DROP ROLE語(yǔ)句。語(yǔ)法格式:DROP ROLE 角色名其中,“角色名”為要?jiǎng)h除的數(shù)據(jù)庫(kù)角色的名稱?!纠?0.8】 刪除數(shù)據(jù)庫(kù)角色ROLE2。在刪除ROLE2之前,首先需要將ROLE2中的成員刪除,可以使用界面方式,也可以使用命令方式。若使用界面方式,只需在ROLE2的屬性頁(yè)中操作即可。確認(rèn)ROLE2可以刪除后,使用以下命令刪除ROLE2:DROP ROLE ROLE210.3.4 應(yīng)用程序角色應(yīng)用程序角色創(chuàng)建應(yīng)用程序角色步驟如下:(1)以系統(tǒng)管理員身份連接SQL Se
35、rver,在“對(duì)象資源管理器”窗口中展開“數(shù)據(jù)庫(kù)”“pxscj”“安全性”“角色”,右擊“應(yīng)用程序角色”,選擇“新建應(yīng)用程序角色”。(2)在“應(yīng)用程序角色-新建”窗口中輸入應(yīng)用程序角色名稱“APPRole”,默認(rèn)架構(gòu)“dbo”,設(shè)置密碼為“123”,如圖10.12所示。10.3.4 應(yīng)用程序角色應(yīng)用程序角色圖10.12 新建應(yīng)用程序角色(常規(guī))10.3.4 應(yīng)用程序角色應(yīng)用程序角色在“安全對(duì)象”選項(xiàng)頁(yè)中,可以單擊“搜索”按鈕,添加“特定對(duì)象”,選擇對(duì)象為xsb表。單擊“確定”按鈕回到“安全對(duì)象”選項(xiàng)頁(yè)中,授予xsb表的“選擇”權(quán)限(如圖10.13所示),完成后單擊“確定”按鈕。10.3.4 應(yīng)
36、用程序角色應(yīng)用程序角色(3)添加User_SQL_tao用戶為db_denydatareader數(shù)據(jù)庫(kù)角色的成員,使用“SQL_tao”登錄名連接SQL Server。此后,在查詢窗口中輸入如下語(yǔ)句:USE pxscjGOSELECT * FROM xsb運(yùn)行結(jié)果顯示出錯(cuò)信息。(4)使用系統(tǒng)存儲(chǔ)過(guò)程sp_setapprole激活應(yīng)用程序角色,語(yǔ)句如下:EXEC sp_setapprole APPRole, 123(5)在查詢窗口中重新輸入第(3)步中的查詢語(yǔ)句,成功地執(zhí)行了查詢。10.4 數(shù)據(jù)庫(kù)權(quán)限的管理數(shù)據(jù)庫(kù)權(quán)限的管理10.4.1 授予權(quán)限:授予權(quán)限:GRANT1以命令方式授予權(quán)限以命令方式
37、授予權(quán)限利用GRANT語(yǔ)句可以給數(shù)據(jù)庫(kù)用戶或數(shù)據(jù)庫(kù)角色授予數(shù)據(jù)庫(kù)級(jí)別或?qū)ο蠹?jí)別的權(quán)限。語(yǔ)法格式:GRANT ALL PRIVILEGES | 權(quán)限 ( 列 , . ) , . ON 安全對(duì)象 TO 主體 , . WITH GRANT OPTION AS 主體 【例10.9】 給pxscj數(shù)據(jù)庫(kù)上的用戶User_liu和User_SQL_liu授予創(chuàng)建表的權(quán)限。以系統(tǒng)管理員(sa)身份登錄SQL Server,新建一個(gè)查詢,輸入以下語(yǔ)句:USE pxscjGOGRANT CREATE TABLE TO User_liu, User_SQL_liu, Role1GO說(shuō)明:授予數(shù)據(jù)庫(kù)級(jí)權(quán)限時(shí),CRE
38、ATE DATABASE權(quán)限只能在master數(shù)據(jù)庫(kù)中被授予。10.4.1 授予權(quán)限:授予權(quán)限:GRANT【例10.10】 首先在pxscj數(shù)據(jù)庫(kù)中給public角色授予xsb表的SELECT權(quán)限。然后,將其他一些權(quán)限授予用戶User_liu和User_SQL_liu,使用戶有對(duì)xsb表的所有操作權(quán)限。以系統(tǒng)管理員身份登錄SQL Server,新建一個(gè)查詢,輸入以下語(yǔ)句:USE pxscjGOGRANT SELECT ON xsb TO public, Role2GO GRANT INSERT, UPDATE, DELETE, REFERENCES ON xsb TO User_liu, Us
39、er_SQL_liuGO10.4.1 授予權(quán)限:授予權(quán)限:GRANT2以界面方式授予語(yǔ)句權(quán)限以界面方式授予語(yǔ)句權(quán)限1)授予數(shù)據(jù)庫(kù)的權(quán)限)授予數(shù)據(jù)庫(kù)的權(quán)限【例10.11】 數(shù)據(jù)庫(kù)用戶User_SQL_tao授予pxscj數(shù)據(jù)庫(kù)的CREATE TABLE語(yǔ)句的權(quán)限(即創(chuàng)建表的權(quán)限)。(1)選擇“pxscj”數(shù)據(jù)庫(kù),右擊鼠標(biāo),選擇“屬性”菜單項(xiàng)進(jìn)入pxscj數(shù)據(jù)庫(kù)的“數(shù)據(jù)庫(kù)屬性”窗口,選擇“權(quán)限”頁(yè)。在“用戶或角色”欄中選擇需要授予權(quán)限的用戶或角色:User_SQL_tao,在窗口下方列出的“權(quán)限”列表中找到相應(yīng)的權(quán)限:創(chuàng)建表,在復(fù)選框中打鉤,單擊“確定”按鈕即可完成,如圖10.14所示。(2)如果
40、需要授予權(quán)限的用戶在列出的“用戶或角色”列表中不存在,則可以單擊“搜索”按鈕將該用戶添加到列表中再選擇。單擊“有效”選項(xiàng)卡可以查看該用戶在當(dāng)前數(shù)據(jù)庫(kù)中有哪些權(quán)限。10.4.1 授予權(quán)限:授予權(quán)限:GRANT圖10.14 “數(shù)據(jù)庫(kù)屬性”窗口10.4.1 授予權(quán)限:授予權(quán)限:GRANT2)授予數(shù)據(jù)庫(kù)對(duì)象上的權(quán)限)授予數(shù)據(jù)庫(kù)對(duì)象上的權(quán)限【例10.12】 給數(shù)據(jù)庫(kù)用戶User_SQL_tao授予kcb表上的SELECT、INSERT的權(quán)限。(1)選擇“pxscj”數(shù)據(jù)庫(kù)“表”“kcb”,右擊鼠標(biāo),選擇“屬性”菜單項(xiàng)進(jìn)入kcb表的屬性窗口,選擇“權(quán)限”選項(xiàng)頁(yè)。(2)單擊“搜索”按鈕,在彈出的“選擇用戶或
41、角色”窗口中單擊“瀏覽”按鈕,選擇需要授權(quán)的用戶或角色:User_SQL_tao),選擇后單擊“確定”按鈕回到kcb表的“表屬性”窗口。(3)如圖10.15所示,在“權(quán)限”列表中選擇需要授予的權(quán)限,如“插入”,單擊“確定”按鈕完成授權(quán)。(4)如果要授予用戶在表的列上的SELECT權(quán)限,可以選擇“選擇”權(quán)限后單擊“列權(quán)限”按鈕,在彈出的“列權(quán)限”對(duì)話框中選擇要授予權(quán)限的列。10.4.2 拒絕權(quán)限拒絕權(quán)限使用DENY命令可以拒絕給當(dāng)前數(shù)據(jù)庫(kù)內(nèi)的用戶授予的權(quán)限,并防止數(shù)據(jù)庫(kù)用戶通過(guò)其組或角色成員資格繼承權(quán)限。語(yǔ)法格式:DENY ALL PRIVILEGES | 權(quán)限 ( 列 , . ) , . ON
42、 安全對(duì)象 TO 主體 , . CASCADE AS 主體 【例10.13】 對(duì)User_SQL_liu用戶和ROLE2角色成員不允許使用CREATE VIEW和CREATE TABLE語(yǔ)句。DENY CREATE VIEW, CREATE TABLE TO User_SQL_liu, ROLE2GO10.4.2 拒絕權(quán)限拒絕權(quán)限【例10.14】 拒絕用戶User_SQL_liu、PC-201412101514liu對(duì)xsb表的一些權(quán)限,這樣,這些用戶就沒(méi)有對(duì)xsb表的操作權(quán)限了。USE pxscjGODENY SELECT, INSERT, UPDATE, DELETE ON xsb TO
43、User_SQL_liu, PC-201412101514liuGO10.4.3 撤銷權(quán)限撤銷權(quán)限利用REVOKE命令可撤銷以前給當(dāng)前數(shù)據(jù)庫(kù)用戶授予或拒絕的權(quán)限。語(yǔ)法格式:REVOKE GRANT OPTION FOR ALL PRIVILEGES | 權(quán)限 ( 列 , . ) , . ON 安全對(duì)象 TO | FROM 主體 , . CASCADE AS 主體 10.4.3 撤銷權(quán)限撤銷權(quán)限【例10.15】 取消已授予用戶權(quán)限。(1)取消授予多個(gè)用戶的多個(gè)語(yǔ)句權(quán)限。REVOKE CREATE TABLE, CREATE DEFAULT FROM User_liu, User_SQL_liuGO(2)取消User_liu授予或拒絕的在xsb表上的SELECT權(quán)限。REVOKE SELECT ON xsb FROM User_liu10.5 數(shù)據(jù)庫(kù)架構(gòu)的定義和使用數(shù)據(jù)庫(kù)架構(gòu)的定義和使用10.5.1 以界面方式創(chuàng)建架構(gòu)以界面方式創(chuàng)建架構(gòu)1創(chuàng)建架構(gòu)創(chuàng)建架構(gòu)【例10.16】在pxscj數(shù)據(jù)庫(kù)中創(chuàng)建架構(gòu)。步驟如下:(1)以系統(tǒng)管理員身份登錄SQL Serv
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融科技下知識(shí)產(chǎn)權(quán)融資的實(shí)踐與探索
- 個(gè)人住房抵押貸款合同
- 中外雙方進(jìn)出口合同范本
- 二手房全款交易合同范本
- 個(gè)人租賃倉(cāng)儲(chǔ)空間的合同范本
- 中外合作研發(fā)合同范本(人工智能)
- 專業(yè)技術(shù)人才培養(yǎng)合作合同
- 產(chǎn)業(yè)投資合作協(xié)議合同模板
- 主要農(nóng)作物新品種推廣合同示范文本
- 個(gè)人與合作方倉(cāng)儲(chǔ)運(yùn)輸合同例文
- 大慶市2025屆高三年級(jí)第二次教學(xué)質(zhì)量檢測(cè)(二模)政治試卷(含答案)
- 企業(yè)員工信息安全意識(shí)培訓(xùn)
- 《學(xué)前兒童文學(xué)與繪本閱讀》課程教學(xué)大綱
- 2025屆高考化學(xué) 二輪復(fù)習(xí) 專題五 離子共存(含解析)
- 2024年中國(guó)智能電磁爐市場(chǎng)調(diào)查研究報(bào)告
- 湖北十堰燃?xì)馐鹿拾咐治鲑Y料
- 醫(yī)療糾紛處理及防范技巧與案例分析 課件
- 三級(jí)綜合醫(yī)院全科醫(yī)療科設(shè)置基本標(biāo)準(zhǔn)
- 《上消化道出血教案》課件
- 合理使用手機(jī) 做自律好少年-合理使用手機(jī)主題班會(huì)(課件)
- 湖南財(cái)政經(jīng)濟(jì)學(xué)院《運(yùn)籌學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
評(píng)論
0/150
提交評(píng)論