- SQL Server 2016從入門到精通(視頻教學超值版)
- 王英英
- 626字
- 2019-12-06 15:49:28
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表的刪除權限,輸入語句如下。

推薦閱讀
- .NET之美:.NET關鍵技術深入解析
- Raspberry Pi for Python Programmers Cookbook(Second Edition)
- 精通JavaScript+jQuery:100%動態網頁設計密碼
- TypeScript入門與實戰
- JavaScript修煉之道
- INSTANT FreeMarker Starter
- Mastering Concurrency in Go
- Linux網絡程序設計:基于龍芯平臺
- RabbitMQ Cookbook
- 大數據分析與應用實戰:統計機器學習之數據導向編程
- ASP.NET求職寶典
- Android Game Programming by Example
- 深入解析Java編譯器:源碼剖析與實例詳解
- Kotlin進階實戰
- Drupal 8 Development Cookbook(Second Edition)