sql server課件第14講權(quán)限管理_第1頁
sql server課件第14講權(quán)限管理_第2頁
sql server課件第14講權(quán)限管理_第3頁
sql server課件第14講權(quán)限管理_第4頁
sql server課件第14講權(quán)限管理_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

SQLServer2005

數(shù)據(jù)庫管理系統(tǒng)第十四講SQLServer權(quán)限管理引入

數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù)以防止因不合法的使用而造成數(shù)據(jù)的泄密和破壞,這就要采取一定的安全措施.。在數(shù)據(jù)庫系統(tǒng)中,用檢查口令等手段來檢查用戶身份,合法的用戶才能進(jìn)入數(shù)據(jù)庫系統(tǒng),當(dāng)用戶對數(shù)據(jù)庫操作時(shí),系統(tǒng)自動檢查用戶是否有權(quán)限執(zhí)行這些操作。學(xué)習(xí)目標(biāo)SQLServer的驗(yàn)證模式登錄帳號的設(shè)置用戶和角色的創(chuàng)建權(quán)限的設(shè)置學(xué)習(xí)完本課程,您應(yīng)該能夠:知識重、難點(diǎn)分析重點(diǎn):

SQLServer的驗(yàn)證模式用戶和角色的創(chuàng)建難點(diǎn):

登錄帳號的設(shè)置用戶和角色的權(quán)限設(shè)置任務(wù)一SQLServer數(shù)據(jù)庫的安全性層次1、客戶機(jī)操作系統(tǒng)的安全性。2、SQLServer服務(wù)器登錄的安全性。3、數(shù)據(jù)庫的使用安全性。4、數(shù)據(jù)庫對象的使用安全性。用戶客戶機(jī)SQLServer服務(wù)器數(shù)據(jù)庫操作系統(tǒng)的安全性SQLServer登錄安全性數(shù)據(jù)庫訪問權(quán)限數(shù)據(jù)庫對象許可權(quán)表視圖任務(wù)一SQLServer數(shù)據(jù)庫的安全性層次任務(wù)一SQLServer數(shù)據(jù)庫的安全性層次WindowsSQLServerdatabasetableWindows賬號Windows賬號SQL賬號Pdb1db2dbnPPPSQLLoginsSQLRolesDbuserdbrolesDbuserdbrolesDbuserdbrolesPPPPPP任務(wù)一SQLServer數(shù)據(jù)庫的安全性層次任務(wù)二SQLServer的認(rèn)證模式Windows認(rèn)證模式SQLServer數(shù)據(jù)庫系統(tǒng)通常運(yùn)行在Windows服務(wù)器平臺上,Windows認(rèn)證模式正是利用了這一用戶安全性和帳號管理的機(jī)制,允許SQLServer也可以使用NT的用戶名和口令。在這種模式下,用戶只需要通過Windows認(rèn)證,就可以連接到SQLServer,而SQLServer本身也就不需要管理一套登錄數(shù)據(jù)?;旌险J(rèn)證模式在混合認(rèn)證模式下Windows認(rèn)證和SQLServer認(rèn)證模式都是可用的。NT的用戶既可以使用NT認(rèn)證,也可以使用SQLServer認(rèn)證。在SQLServer認(rèn)證模式下,用戶在連接SQLServer時(shí)必須提供登錄名和登錄密碼。這些登錄信息存儲在系統(tǒng)表syslogins中,與NT的登錄賬號無關(guān),SQLServer自己執(zhí)行認(rèn)證。Windows認(rèn)證模式的優(yōu)點(diǎn)更先進(jìn)的安全策略一組只需建一個(gè)用戶更快捷的訪問混合認(rèn)證模式的優(yōu)點(diǎn)非windows用戶及Internet客戶可以連接到數(shù)據(jù)庫任務(wù)二SQLServer的認(rèn)證模式利用企業(yè)管理器進(jìn)行認(rèn)證模式設(shè)置:1.打開企業(yè)管理器,用右鍵單擊要設(shè)置認(rèn)證模式的服務(wù)器,從快捷菜單中選擇“屬性(properties)”選項(xiàng),則出現(xiàn)SQLServer屬性對話框。2.在SQLServer屬性對話框中選擇安全性選項(xiàng)。任務(wù)二SQLServer的認(rèn)證模式2.打開企業(yè)管理器,用右鍵單擊要設(shè)置認(rèn)證模式的服務(wù)器,從快捷菜單中選擇“編輯SQLServer注冊屬性”選項(xiàng),則出現(xiàn)“已注冊SQLServer屬性”對話框。任務(wù)二SQLServer的認(rèn)證模式任務(wù)三利用企業(yè)管理器管理登錄帳號其具體執(zhí)行步驟如下:(1)打開企業(yè)管理器,單擊需要登錄的服務(wù)器左邊的“+”號,然后展開安全性文件夾。(2)用右鍵單擊登錄圖標(biāo),從快捷菜單中選擇新建登錄選項(xiàng),則出現(xiàn)SQLServer登錄屬性—新建登錄對話框,如圖6-2所示。(3)在名稱編輯框中輸入登錄名,在身份驗(yàn)證選項(xiàng)欄中選擇新建的用戶帳號是WindowsNT認(rèn)證模式,還是SQLServer認(rèn)證模式。任務(wù)三利用企業(yè)管理器管理登錄帳號(4)選擇服務(wù)器角色頁框,如圖6-3所示。在服務(wù)器角色列表框中,列出了系統(tǒng)的固定服務(wù)器角色。(5)選擇數(shù)據(jù)庫訪問頁框,如圖6-4所示。上面的列表框列出了該帳號可以訪問的數(shù)據(jù)庫,單擊數(shù)據(jù)庫左邊的復(fù)選框,表示該用戶可以訪問相應(yīng)的數(shù)據(jù)庫以及該帳號在數(shù)據(jù)庫中的用戶名。(6)設(shè)置完成后,單擊“確定”按鈕即可完成登錄帳號的創(chuàng)建。

任務(wù)三利用企業(yè)管理器管理登錄帳號任務(wù)三利用企業(yè)管理器管理登錄帳號任務(wù)三利用企業(yè)管理器管理登錄帳號1、創(chuàng)建SQLServer登錄帳戶

格式:sp_addlogin[@loginname]‘login’[,[@passwd=]‘password’][,[@defdb=]‘database’][,[@language=]‘language’][,[@sid=]‘sid’][,[@encryption=]‘encryption_option’]例如:execsp_addlogin'dbloginuser1','123'

execsp_addlogin'dbloginuser1','123',‘學(xué)生信息庫’任務(wù)四利用T-SQL管理登錄帳號2、修改SQLServer登錄帳戶

例如:修改登錄帳戶dbloginuser1的默認(rèn)數(shù)據(jù)庫。

execsp_defaultdb‘dbloginuser1’,‘學(xué)生管理數(shù)據(jù)庫’

修改dbloginuser1的密碼。

execsp_password‘password’,’newpassword’,‘dbloginuser1’

任務(wù)四利用T-SQL管理登錄帳號4、刪除SQLServer登錄帳戶

刪除登錄帳戶dbloginuser1。

execsp_droplogindbloginuser1任務(wù)四利用T-SQL管理登錄帳號Windows集成登錄帳號1、使用系統(tǒng)存儲過程使WindowsNT的用戶或工作組成為SQLServer的登錄帳戶。格式:sp_grantlogin[@loginane=]’login’例如:將WindowsNT服務(wù)器上[servername]域的工作組[sqlgroup]映射為SQLServer登錄帳戶。

execsp_grantlogin[servername\sqlgroup]任務(wù)四利用T-SQL管理登錄帳號Windows集成登錄帳號2、撤消WindowsNT服務(wù)器上[servername]域的工作組[sqlgroup]內(nèi)用戶與SQLServer登錄帳戶的映射。execsp_revokelogin[servername\sqlgroup]任務(wù)四利用T-SQL管理登錄帳號Windows集成登錄帳號3、拒絕WindowsNT服務(wù)器上[servername]域的工作組[sqlgroup]內(nèi)用戶登錄SQLServer服務(wù)器。execsp_denylogin[servername\sqlgroup]查看登錄帳號信息。execsp_helplogin任務(wù)四利用T-SQL管理登錄帳號任務(wù)五SQLServer數(shù)據(jù)庫安全性在數(shù)據(jù)庫中,一個(gè)用戶或工作組取得合法的登錄帳號,只表明該帳號通過了WindowsNT認(rèn)證或者SQLServer認(rèn)證,但不能表明其可以對數(shù)據(jù)庫對象進(jìn)行操作,只有當(dāng)它同時(shí)擁有了用戶帳號后,才能夠訪問數(shù)據(jù)庫。數(shù)據(jù)庫的訪問權(quán)限是通過映射數(shù)據(jù)庫的用戶與登錄帳號之間的關(guān)系實(shí)現(xiàn)的。每個(gè)登錄賬號在一個(gè)數(shù)據(jù)庫中只能有一個(gè)用戶賬號,但是每個(gè)登錄賬號可以在不同的數(shù)據(jù)庫中各有一個(gè)用戶賬號。如果在新建登錄賬號的過程中,指定對某個(gè)數(shù)據(jù)庫具有存取權(quán)限,則在該數(shù)據(jù)庫中將自動創(chuàng)建一個(gè)與該登錄賬號同名的用戶賬號。任務(wù)五使用企業(yè)管理器管理數(shù)據(jù)庫用戶1、添加數(shù)據(jù)庫用戶:

任務(wù)五使用企業(yè)管理器管理數(shù)據(jù)庫用戶2、刪除數(shù)據(jù)庫用戶:任務(wù)五使用企業(yè)管理器管理數(shù)據(jù)庫用戶任務(wù)五使用T-SQL管理數(shù)據(jù)庫用戶1、添加數(shù)據(jù)庫用戶格式:sp_grantdbaccess[@loginame=]'賬戶名'[,[@name_in_db=]'數(shù)據(jù)庫用戶名’例如:在當(dāng)前數(shù)據(jù)庫中為WindowsNT賬戶servername\sqlgroup

添加用戶,并取名為sqllogingroup。use學(xué)生管理數(shù)據(jù)庫goexecsp_grantdbaccess[servername\sqlgroup],'sqllogingroup’goexecsp_grantdbaccess‘dbloginuser1’,’dbaccessuser1’任務(wù)五使用T-SQL管理數(shù)據(jù)庫用戶2、查看數(shù)據(jù)庫用戶use學(xué)生管理數(shù)據(jù)庫goexecsp_helpuser任務(wù)五使用T-SQL管理數(shù)據(jù)庫用戶3、刪除數(shù)據(jù)庫用戶格式:sp_revokedbaccess[@name_in_db=]'數(shù)據(jù)庫用戶名’例如:斷開SQLServer登錄帳戶與數(shù)據(jù)庫用戶之間的映射。User學(xué)生管理數(shù)據(jù)庫goexecsp_revokedbaccess‘sqllogingroup’goexecsp_revokedbaccess’dbaccessuser1’特殊數(shù)據(jù)庫用戶SQLServer2000的數(shù)據(jù)庫級別上也存在著2個(gè)特殊的數(shù)據(jù)庫用戶,分別是dbo和guest。1、Dbo是數(shù)據(jù)庫對象所有者,在安裝SQLServer2000時(shí)被設(shè)置到model數(shù)據(jù)庫中的,不能被刪除,所以dbo在每個(gè)數(shù)據(jù)庫中都存在,具有數(shù)據(jù)庫的最高權(quán)力,可以在數(shù)據(jù)庫范圍內(nèi)執(zhí)行一切操作。Dbo用戶對應(yīng)于創(chuàng)建該數(shù)據(jù)庫的登錄用戶,所以所有系統(tǒng)數(shù)據(jù)庫的dbo都對應(yīng)于sa賬戶。2、Guest允許沒有賬戶的用戶登錄訪問數(shù)據(jù)庫??梢詫?quán)限應(yīng)用到guest用戶,就如同它是任何其他用戶賬戶一樣。可以在除master和tempdb外(在這兩個(gè)數(shù)據(jù)庫中它必須始終存在)的所有數(shù)據(jù)庫中添加或刪除guest用戶。默認(rèn)情況下,新建的數(shù)據(jù)庫中沒有g(shù)uest用戶賬戶?!纠繉uest用戶賬戶添加到名為Accounts的數(shù)據(jù)庫中,意味著所有登錄到SQLServer服務(wù)器的用戶都可以訪問該數(shù)據(jù)庫,即使它還沒有成為本數(shù)據(jù)庫的用戶。useaccountsgoexecsp_grantdbaccessguest特殊數(shù)據(jù)庫用戶任務(wù)六角色管理角色是SQLServer版本引進(jìn)的新概念,它代替了以前版本中組的概念。利用角色,SQLServer管理者可以將某些用戶設(shè)置為某一角色,這樣只對角色進(jìn)行權(quán)限設(shè)置便可以實(shí)現(xiàn)對所有用戶權(quán)限的設(shè)置,大大減少管理員的工作量。SQLServer提供了用戶通常管理工作的固定服務(wù)器角色和固定數(shù)據(jù)庫角色。1、固定服務(wù)器角色

固定服務(wù)器角色是指根據(jù)SQLServer的管理任務(wù),以及這些任務(wù)相對的重要性等級來把具有SQLServer管理職能的用戶劃分為不同的用戶組,每一組所具有的管理SQLServer的權(quán)限都是SQLServer內(nèi)置的,即不能對其進(jìn)行添加、修改和刪除,只能向其中加入用戶或者其他角色。1、固定服務(wù)器角色

1、使用企業(yè)管理器管理服務(wù)器角色(1)展開指定的服務(wù)器節(jié)點(diǎn)。(2)展開服務(wù)器節(jié)點(diǎn)下的安全性子節(jié)點(diǎn)。(3)選擇[服務(wù)器角色]節(jié)點(diǎn),則右邊窗口將列出所有的固定服務(wù)器角色。(4)選中指定的固定服務(wù)器角色,右擊[屬性],單擊[添加]按鈕。1、固定服務(wù)器角色

2、使用T-SQL管理固定服務(wù)器角色1)查看固定服務(wù)器角色:Execsp_helpsrvrole

2)查看固定服務(wù)器角色權(quán)限:UsemastergoExecsp_srvrolepermissionsysadmin1、固定服務(wù)器角色

2、使用T-SQL管理服務(wù)器角色3)將固定服務(wù)器角色分配給某指定的登錄帳戶:execsp_addsrvrolemember[servername\user1],’sysadmin’goexecsp_addsrvrolemember‘dbloginuser1’,’sysadmin’1、固定服務(wù)器角色

2、使用T-SQL管理服務(wù)器角色4)收回分配給某指定的登錄帳戶的固定服務(wù)器角色:execsp_dropsrvrolemember[servername\user1],’sysadmin’Goexecsp_dropsrvrolemember‘dbloginuser1’,’sysadmin’1、固定服務(wù)器角色

2、使用T-SQL管理服務(wù)器角色5)查看固定服務(wù)器角色成員:execsp_helpsrvrolemember’sysadmin’七種常用的固定服務(wù)器角色

系統(tǒng)管理員:擁有SQLServer所有的權(quán)限許可。服務(wù)器管理員:管理SQLServer服務(wù)器端的設(shè)置。磁盤管理員:管理磁盤文件。進(jìn)程管理員:管理SQLServer系統(tǒng)進(jìn)程。安全管理員:管理和審核SQLServer系統(tǒng)登錄。安裝管理員:增加、刪除連接服務(wù)器,建立數(shù)據(jù)庫復(fù)制以及管理擴(kuò)展存儲過程。數(shù)據(jù)庫創(chuàng)建者:創(chuàng)建數(shù)據(jù)庫,并對數(shù)據(jù)庫進(jìn)行修改。數(shù)據(jù)庫角色數(shù)據(jù)庫角色是為某一用戶或某一組用戶授予不同級別的管理或訪問數(shù)據(jù)庫以及數(shù)據(jù)庫對象的權(quán)限,這些權(quán)限是數(shù)據(jù)庫專有的,并且還可以使一個(gè)用戶具有屬于同一數(shù)據(jù)庫的多個(gè)角色。SQLServer提供了兩種類型的數(shù)據(jù)庫角色:即固定的數(shù)據(jù)庫角色和用戶自定義的數(shù)據(jù)庫角色。

數(shù)據(jù)庫角色1)查看固定數(shù)據(jù)庫角色:use學(xué)生管理數(shù)據(jù)庫goexecsp_helpdbfixedrole數(shù)據(jù)庫角色2)將某固定數(shù)據(jù)庫角色分配給某指定的訪問帳戶:use學(xué)生管理數(shù)據(jù)庫goexecsp_addrolememberdb_owner,dbaccessuser1數(shù)據(jù)庫角色3)收回分配給某指定的訪問帳戶的指定數(shù)據(jù)庫角色:use學(xué)生管理數(shù)據(jù)庫goexecsp_droprolememberdb_owner,dbaccessuser11、固定的數(shù)據(jù)庫角色:Public:維護(hù)全部默認(rèn)許可。數(shù)據(jù)庫中的每個(gè)用戶都屬于public數(shù)據(jù)庫角色。如果想讓數(shù)據(jù)庫中的每個(gè)用戶都能有某個(gè)特定的權(quán)限,則將該權(quán)限指派給public角色。如果沒有給用戶專門授予對某個(gè)對象的權(quán)限,他們就使用指派給public角色的權(quán)限。Db_owner:數(shù)據(jù)庫的所有者,可以對所擁有的數(shù)據(jù)庫執(zhí)行任何操作。Db_accessadmin:可以增加或刪除數(shù)據(jù)庫用戶、工作組和角色。Db_addadmin:可以增加、刪除和修改數(shù)據(jù)庫中的任何對象。Db_securityadmin:執(zhí)行語句許可和對象許可。數(shù)據(jù)庫角色Db_backupoperator:可以備份和恢復(fù)數(shù)據(jù)庫。Db_datareader:能且僅能對數(shù)據(jù)庫中的任何表執(zhí)行select操作,從而讀取所有表的信息。Db_datawriter:能夠增加、修改和刪除表中的數(shù)據(jù),但不能進(jìn)行select操作。Db_denydatareader:不能讀取數(shù)據(jù)庫中任何表中的數(shù)據(jù)。Db_denydatawriter:不能對數(shù)據(jù)庫中的任何表執(zhí)行增加、修改和刪除數(shù)據(jù)操作。數(shù)據(jù)庫角色2、用戶自定義數(shù)據(jù)庫角色創(chuàng)建用戶定義的數(shù)據(jù)庫角色就是創(chuàng)建一組用戶,這些用戶具有相同的一組許可。如果一組用戶需要執(zhí)行在SQLServer中指定的一組操作并且不存在對應(yīng)的WindowsNT組,或者沒有管理WindowsNT用戶帳號的許可,就可以在數(shù)據(jù)庫中建立一個(gè)用戶自定義的數(shù)據(jù)庫角色。用戶自定義的數(shù)據(jù)庫角色有兩種類型:即標(biāo)準(zhǔn)角色和應(yīng)用程序角色。數(shù)據(jù)庫角色標(biāo)準(zhǔn)角色通過對用戶權(quán)限等級的認(rèn)定而將用戶劃分為不用的用戶組,使用戶總是相對于一個(gè)或多個(gè)角色,從而實(shí)現(xiàn)管理的安全性。應(yīng)用程序角色是一種特殊的角色。當(dāng)讓某些用戶只能通過特定的應(yīng)用程序間接地存取數(shù)據(jù)庫中的數(shù)據(jù)而不是直接地存取數(shù)據(jù)庫數(shù)據(jù)時(shí),就應(yīng)該考慮使用應(yīng)用程序角色。當(dāng)某一用戶使用了應(yīng)用程序角色時(shí),他便放棄了已被賦予的所有數(shù)據(jù)庫專有權(quán)限,他所擁有的只是應(yīng)用程序角色被設(shè)置的角色。數(shù)據(jù)庫角色數(shù)據(jù)庫角色1、使用企業(yè)管理器管理用戶自定義角色(1)在企業(yè)管理器中找到要創(chuàng)建角色的數(shù)據(jù)庫。(2)展開數(shù)據(jù)庫。用鼠標(biāo)右鍵單擊角色,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫角色”命令,如圖8-11所示。(3)在打開的新建數(shù)據(jù)庫角色對話框中,在名稱框中輸入數(shù)據(jù)庫角色的名稱,選中“標(biāo)準(zhǔn)角色”單選按鈕,如圖8-12所示。(4)在圖8-12中單擊“添加“按鈕,可以為角色添加用戶,也可省略創(chuàng)建一個(gè)暫無成員的角色。圖8-11創(chuàng)建數(shù)據(jù)庫角色圖8-12創(chuàng)建新數(shù)據(jù)庫角色2、使用T-SQL管理用戶自定義數(shù)據(jù)庫角色格式:Sp_addrole[@rolename=]’role’[,[@ownername=]’owner’]例如:use學(xué)生管理數(shù)據(jù)庫goexecsp_addrole‘dbaccessrole1’goexecsp_helprole

goexecsp_droprole‘dbaccessrole1’數(shù)據(jù)庫角色數(shù)據(jù)庫角色成員1、使用企業(yè)管理器增刪用戶自定義數(shù)據(jù)庫角色成員(1)在企業(yè)管理器中找到要添加角色的數(shù)據(jù)庫。(2)展開該數(shù)據(jù)庫。(3)用鼠標(biāo)單擊角色,右邊的窗口顯示了數(shù)據(jù)庫所有的角色,雙擊要修改的成員角色,打開如圖8-13所示的對話框。(4)在圖8-13中單擊“添加”按鈕可以從當(dāng)前的數(shù)據(jù)庫用戶的角色中選擇角色成員,如圖8-14所示。(5)在圖8-14中的成員列表中選擇一個(gè)成員,單擊“確定”按鈕就可以為該角色添加用戶。(6)在圖8-13中,選中用戶,單擊“刪除”按鈕,則可刪除該角色的成員。圖8-13數(shù)據(jù)庫角色屬性圖8-14為數(shù)據(jù)庫添加角色成員數(shù)據(jù)庫角色成員2、使用T-SQL增刪用戶自定義數(shù)據(jù)庫角色成員系統(tǒng)存儲過程sp_addsrvrolemember可以將某一登錄帳號加入到服務(wù)器角色中,使其成為該服務(wù)器角色的成員。格式:sp_addsrvrolememberaccess,role【例】將SQLServer的用戶dbaccessuser1添加到當(dāng)前數(shù)據(jù)庫中的dbaccessrole1角色中。use學(xué)生管理數(shù)據(jù)庫goexecsp_addrolemember‘dbaccessuser1',‘dbaccessrole1'數(shù)據(jù)庫角色成員2、使用T-SQL查看用戶自定義數(shù)據(jù)庫角色成員use學(xué)生管理數(shù)據(jù)庫goexecsp_helprolemember‘dbaccessrole1'數(shù)據(jù)庫角色成員許可管理SQLServer提供了權(quán)限(permision)作為訪問權(quán)限設(shè)置的最后一道關(guān)卡。數(shù)據(jù)庫中每個(gè)對象都擁有自己的權(quán)限設(shè)置,以決定用戶最終是否可以訪問這些數(shù)據(jù)對象,以及可以對這些數(shù)據(jù)對象進(jìn)行的操作。權(quán)限包括授予或廢除執(zhí)行以下活動的用戶權(quán)限:(1)處理數(shù)據(jù)和執(zhí)行過程(稱為對象權(quán)限)。(2)創(chuàng)建數(shù)據(jù)庫或數(shù)據(jù)庫中的項(xiàng)目(稱為語句權(quán)限)。(3)利用授予預(yù)定義角色的權(quán)限(稱為暗示性權(quán)限)。1、對象許可處理數(shù)據(jù)或執(zhí)行過程時(shí)的需要稱為對象權(quán)限的權(quán)限類別。對象權(quán)限包括:SELECT、INSERT、UPDATE

和DELETE語句權(quán)限,它們可以應(yīng)用到整個(gè)表或視圖中。SELECT和UPDATE語句權(quán)限,它們可以有選擇性地應(yīng)用到表或視圖中的單個(gè)列上。SELECT權(quán)限,它們可以應(yīng)用到用戶定義函數(shù)。INSERT和DELETE語句權(quán)限,它們會影響整行,因此只可以應(yīng)用到表或視圖中,而不能應(yīng)用到單個(gè)列上。EXECUTE語句權(quán)限,它們可以影響存儲過程和函數(shù)。許可管理2、語句許可表示對數(shù)據(jù)庫的操作許可,也就是說,創(chuàng)建數(shù)據(jù)庫或創(chuàng)建數(shù)據(jù)庫中的其它內(nèi)容所需要的許可類型稱為語句許可:Createdatabase:創(chuàng)建數(shù)據(jù)庫Createtable:創(chuàng)建表Createview:創(chuàng)建視圖Createrule:創(chuàng)建規(guī)則Createdefault:創(chuàng)建缺省Createprocedure:創(chuàng)建存儲過程Createindex:創(chuàng)建索引Backupdatabase:備份數(shù)據(jù)庫Backuplog:備份事務(wù)日志許可管理3、預(yù)定義許可(暗示性權(quán)限)是指系統(tǒng)安裝以后有些用戶和角色不必授權(quán)就有的許可。暗示性權(quán)限控制那些只能由預(yù)定義系統(tǒng)角色的成員或數(shù)據(jù)庫對象所有者執(zhí)行的活動。例如,sysadmin固定服務(wù)器角色成員自動繼承在SQLServer安裝中進(jìn)行操作或查看的全部權(quán)限。數(shù)據(jù)庫對象所有者還有暗示性權(quán)限,可以對所擁有的對象執(zhí)行一切活動。例如,擁有表的用戶可以查看、添加或刪除數(shù)據(jù),更改表定義或控制允許其他用戶對表進(jìn)行操作的權(quán)限。許可管理1、使用SQLServer企業(yè)管理器管理許可通過企業(yè)管理器授予權(quán)限而允許訪問的步驟是:(1)找到對象所屬的數(shù)據(jù)庫。(2)展開對象所屬的數(shù)據(jù)庫。(3)根據(jù)對象類型,單擊下列對象之一:

表視圖存儲過程(4)在“詳細(xì)信息”窗口中,右擊授予權(quán)限所在的對象,指向“所有任務(wù)”,然后單擊“管理權(quán)限”。(5)單擊“列出全部用戶/用戶定義的數(shù)據(jù)庫角色/public”,然后選擇授予每位用戶的權(quán)限。許可管理2、使用T-SQL管理許可Transaction_SQL語句使用grant、revoke和deny三種命令來實(shí)現(xiàn)管理權(quán)限。許可管理(1)對語句的許可Grant{all|statement[,…n]}tosecurity_account[,…n][WITHGRANTOPTION]許可管理(2)對對象的許可Grant

{{all[priviledges]|permission[,…n]}[(column[,…n])]on{table|view}|on{table|view}[(column[,…n])]|on{stored_procedure|extended_procedure}}tosecurity_account[,…n][WITHGRANTOPTION][as{group|role}]許可管理ALL表示授予所有可用的權(quán)限。對于語句權(quán)限,只有sysadmin角色成員可以使用ALL。對于對象權(quán)限,sysadmin和db_owner角色成員和數(shù)據(jù)庫對象所有者都可以使用ALL。WITHGRANTOPTION表示可以將指定的對象權(quán)限授予其他用戶?!纠繛榻巧玠baccessrole1中成員授予在當(dāng)前數(shù)據(jù)庫中創(chuàng)建表權(quán)限。use學(xué)生管理數(shù)據(jù)庫gograntcreatetabletodbaccessrole1goexecsp_helprotectnull,dbaccessrole1gograntselect,inserton學(xué)生表todbaccessrole1許可管理(1)否定語句的許可Deny{all|statement[,…n]}tosecurity_account[,…n]許可管理(2)否定對象的許可Deny

{{all[priviledges]|permission[,…n]}[(column[,…n])]on{table|view}|on{table|view}[(column[,…n])]|on{stored_procedure|extended_procedure}}tosecurity_account[,…n]許可管理【例】拒絕角色dbaccessrole1中成員在當(dāng)前數(shù)據(jù)庫中創(chuàng)建表權(quán)限,除非給他們顯式授予權(quán)限。use學(xué)生管理數(shù)據(jù)庫godenycreatetabletodbaccessrole1goexecsp_helprotectnull,dbaccessrole1godenyselect,inserton學(xué)生表todbaccessrole1許可管理(1)收回語句的許可Revoke{all|statement[,…n]}fromsecurity_account[,…n]許可管理

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論