官术网_书友最值得收藏!

5.3 數據控制語句

數據控制語句(DCL)用來設置、更改用戶或角色權限,包括GRANT、DENY、REVOKE等語句。

GRANT語句用來對用戶授予權限,REVOKE語句可用于刪除已授予的權限,DENY語句可用于防止主體通過GRANT獲得特定權限。默認狀態下,只有sysadmin、dbcreater、db_owner、db_securityadmin等成員有權執行數據控制語言。

5.3.1 授予權限操作——GRANT

SQL Server服務器通過權限表來控制用戶對數據庫的訪問。在數據庫中添加一個新用戶之后,該用戶可以查詢系統表的權限,而不具有操作數據庫對象的任何權限。

GRANT語句可以授予對數據庫對象的操作權限,這些數據庫對象包括表、視圖、存儲過程、聚合函數等,允許執行的權限包括查詢、更新、刪除等??聪旅嬉粋€例題。

【例5.26】對名稱為guest的用戶進行授權,允許其對stu_info數據表執行更新和刪除的操作權限,輸入語句如下。

  • UPDATE和DELETE為允許被授予的操作權限。
  • stu_info為權限執行對象。
  • guest為被授予權限的用戶名稱。
  • WITH GRANT OPTION表示該用戶還可以向其他用戶授予其自身所擁有的權限。

這里只是對GRANT語句有一個大概的了解,在后面章節中會詳細介紹該語句的用法。

5.3.2 拒絕權限操作——DENY

出于某些安全性的考慮,可能不太希望讓一些人來查看特定的表,此時可以使用DENY語句來禁止對指定表的查詢操作,DENY可以被管理員用來禁止某個用戶對一個對象的所有訪問權限。

【例5.27】禁止guest用戶對stu_info表的操作更新權限,輸入語句如下。

5.3.3 收回權限操作——REVOKE

既然可以授予用戶權限,同樣可以收回用戶的權限,如收回用戶的查詢、更新或者刪除權限。T-SQL中可以使用REVOKE語句來實現收回權限的操作。

【例5.28】收回guest用戶對stu_info表的刪除權限,輸入語句如下。

主站蜘蛛池模板: 忻州市| 东光县| 鱼台县| 读书| 旬阳县| 翁源县| 松溪县| 花莲市| 南安市| 永胜县| 仙居县| 延边| 达孜县| 神池县| 株洲县| 金秀| 西青区| 濉溪县| 泌阳县| 桓台县| 诸暨市| 北海市| 工布江达县| 北安市| 乌兰察布市| 威宁| 射阳县| 凌源市| 兴和县| 灵寿县| 崇阳县| 古田县| 长兴县| 图们市| 东丰县| 阿荣旗| 从江县| 凌云县| 濉溪县| 新营市| 永福县|