SQL Server對(duì)象許可管理
SQL Server對(duì)象許可保證了用戶必須要有相應(yīng)的權(quán)限才可以對(duì)數(shù)據(jù)庫對(duì)象進(jìn)行操作,下面就為您介紹SQL Server對(duì)象許可管理的知識(shí),供您參考。
許可用來指定授權(quán)用戶可以使用的數(shù)據(jù)庫對(duì)象和這些授權(quán)用戶可以對(duì)這些數(shù)據(jù)庫對(duì)象執(zhí)行的操作。用戶在登錄到SQL Server之后,其用戶帳號(hào)所歸屬的NT組或角色所被賦予的許可(權(quán)限)決定了該用戶能夠?qū)δ男?shù)據(jù)庫對(duì)象執(zhí)行哪種操作以及能夠訪問、修改哪些數(shù)據(jù)。在每個(gè)數(shù)據(jù)庫中用戶的許可獨(dú)立于用戶帳號(hào)和用戶在數(shù)據(jù)庫中的角色,每個(gè)數(shù)據(jù)庫都有自己獨(dú)立的許可系統(tǒng),在SQL Server中包括三種類型的許可:即SQL Server對(duì)象許可,語句許可和預(yù)定義許可。
SQL Server對(duì)象許可表示對(duì)特定的數(shù)據(jù)庫對(duì)象(即表、視圖、字段和存儲(chǔ)過程)的操作許可,它決定了能對(duì)表、視圖等數(shù)據(jù)庫對(duì)象執(zhí)行哪些操作。如果用戶想要對(duì)某一對(duì)象進(jìn)行操作,其必須具有相應(yīng)的操作的權(quán)限。表和視圖許可用來控制用戶在表和視圖上執(zhí)行SELECT,UPDATE和REFERENCES操作的能力。存儲(chǔ)過程許可用來控制用戶執(zhí)行EXECUTE語句的能力。
語句許可表示對(duì)數(shù)據(jù)庫的操作許可,也就是說,創(chuàng)建數(shù)據(jù)庫或者創(chuàng)建數(shù)據(jù)庫中的其它內(nèi)容所需要的許可類型稱為語句許可。這些語句通常是一些具有管理性的操作,如創(chuàng)建數(shù)據(jù)庫、表和存儲(chǔ)過程等。這種語句雖然仍包含有操作的對(duì)象,但這些對(duì)象在執(zhí)行該語句之前并不存在于數(shù)據(jù)庫中。因此,語句許可針對(duì)的是某個(gè)SQL語句,而不是數(shù)據(jù)庫中已經(jīng)創(chuàng)建的特定的數(shù)據(jù)庫對(duì)象。只有sysadmin,db-owner和db-securityadmin角色的成員才能授予語句許可,可用于語句許可的Transaction-SQL語句及其含義如下:
Create database:創(chuàng)建數(shù)據(jù)庫;
Create table:創(chuàng)建表;
Create view:創(chuàng)建視圖;
Create rule:創(chuàng)建默認(rèn);
Create procedure:創(chuàng)建存儲(chǔ)過程;
Create index:創(chuàng)建索引;
Backup log:備份事務(wù)日志。
預(yù)定義許可是指系統(tǒng)安裝以后有些用戶和角色不必授權(quán)就有的許可。其中的角色包括固定服務(wù)器角色和固定數(shù)據(jù)庫角色,用戶包括數(shù)據(jù)庫對(duì)象所有者。只有固定角色或者數(shù)據(jù)庫對(duì)象所有者的成員才可以執(zhí)行某些操作。執(zhí)行這些操作的許可就稱為預(yù)定義許可。
許可的管理包括對(duì)許可的授權(quán)、否定和收回。在SQL Server中,可以使用SQL Server企業(yè)管理器和Transaction-SQL語句兩種方式來管理許可。
【編輯推薦】
SQL Server同步復(fù)制的實(shí)現(xiàn)
sql server刪除主鍵的實(shí)現(xiàn)方法