新聞中心
以下的文章主要描述的是正確修改SQL Server 2005執(zhí)行環(huán)境的實(shí)際操作步驟,假如你在實(shí)際操作中遇到修改SQL Server 2005執(zhí)行環(huán)境的情況,但你卻不知道對其如何正確的解決,那么以下的文章對你而言一定是良師益友。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)柳州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
執(zhí)行環(huán)境是SQL Server數(shù)據(jù)庫中設(shè)定用戶權(quán)限的認(rèn)證方式,比如,當(dāng)您登錄到SQL Server的時候,登錄賬戶就被賦予了一定的權(quán)限,其中可能包括登錄的功能、訪問數(shù)據(jù)庫以及在數(shù)據(jù)庫中執(zhí)行某些操作的功能。
SQL Server 2005包含了EXECUTE AS語句,通過使用EXECUTE AS語句,您可以為批處理和過程轉(zhuǎn)換執(zhí)行環(huán)境,這樣,調(diào)用該批處理或過程的用戶就可以使用不同的權(quán)限來操作了。
所有權(quán)鏈
在我正式講解SQL Server 2005中執(zhí)行環(huán)境的問題之前,先來簡單地說說所有權(quán)鏈的工作原理。
當(dāng)用戶執(zhí)行一個存儲過程的時候(假定該用戶擁有執(zhí)行該存儲過程的權(quán)限),SQL Server將該存儲過程的所有者與這個存儲過程所涉及到的對象的所有者進(jìn)行對比,如果他們的所有者相同,那么就不必對這些引用對象的權(quán)限進(jìn)行評估了。
所以,如果用戶Tim獲得了存儲過程usp_ProcedureChain的權(quán)限,而usp_ProcedureChain存儲過程的所有者是dbo,那么,如果dbo還同時擁有usp_ProcedureChain所調(diào)用的其他存儲過程,那么Tim在執(zhí)行這個存儲過程的時候就不會出現(xiàn)錯誤。
執(zhí)行環(huán)境的轉(zhuǎn)換
在SQL Server 2000中,您可以使用SETUSER命令來模擬SQL用戶的執(zhí)行環(huán)境,但問題在于,只有系統(tǒng)管理員或者數(shù)據(jù)庫的所有者才能使用這個命令,而且Windows賬戶也不能使用該命令。
在SQL Server 2005中,EXECUTE AS語句可以替代SETUSER來改變存儲過程、觸發(fā)器、批處理或者函數(shù)的執(zhí)行環(huán)境。如果執(zhí)行環(huán)境變成了另外一個用戶,那么SQL Server將檢查該用戶的權(quán)限。如果您需要在創(chuàng)建或修改一個存儲過程或函數(shù)的時候指定EXECUTE AS語句,您需要具備IMPERSONATE的權(quán)限,以及創(chuàng)建該對象的權(quán)限。
上述的相關(guān)內(nèi)容就是對修改SQL Server 2005執(zhí)行環(huán)境的描述,希望會給你帶來一些幫助在此方面。
網(wǎng)頁標(biāo)題:正確修改SQLServer2005執(zhí)行環(huán)境之所有權(quán)鏈
文章網(wǎng)址:http://m.fisionsoft.com.cn/article/cddshgj.html


咨詢
建站咨詢
