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