DENY (Transact-SQL)
更新: 2006 年 12 月 12 日
對主體拒絕權限。防止主體透過其群組或角色成員資格繼承權限。
語法
Simplified syntax for DENY
DENY { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ CASCADE] [ AS principal ]
引數
ALL
這個選項不會拒絕所有可能的權限。拒絕 ALL 等同於拒絕下列權限。- 如果安全性實體是資料庫,"ALL" 表示 BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TABLE 和 CREATE VIEW。
- 如果安全性實體是純量函數,"ALL" 表示 EXECUTE 和 REFERENCES。
- 如果安全性實體是資料表值函數,"ALL" 表示 DELETE、INSERT、REFERENCES、SELECT 和 UPDATE。
- 如果安全性實體是預存程序,則 "ALL" 表示 EXECUTE。
- 如果安全性實體是資料表,"ALL" 表示 DELETE、INSERT、REFERENCES、SELECT 和 UPDATE。
- 如果安全性實體是檢視,"ALL" 表示 DELETE、INSERT、REFERENCES、SELECT 和 UPDATE。
- PRIVILEGES
為符合 SQL-92 而包含這個項目。不會變更 ALL 的行為。
- permission
權限的名稱。權限對安全性實體的有效對應描述於下列子主題中。
- column
指定正在拒絕權限的資料表中資料行的名稱。它必須用括號 "()" 括住。
- class
指定正在拒絕權限之安全性實體的類別。需要範圍限定詞 "::"。
- securable
指定正在拒絕權限的安全性實體。
- TO principal
主體的名稱。可以被拒絕安全性實體權限的主體,隨著安全性實體而不同。如需有效的組合,請參閱下列安全性實體特定主題。
- CASCADE
表示已對指定主體和對被主體授與權限的所有其他主體拒絕權限。當主體具有 GRANT OPTION 的權限時,這是必要的。
- AS principal
指定主體,執行這個陳述式的主體就是從這個主體衍生權限來拒絕權限。
備註
DENY 陳述式的完整語法相當複雜。上圖已簡化,以強調其結構。拒絕特定安全性實體權限的完整語法描述於下列主題中。
如果對被授與指定 GRANT OPTION 之權限的主體拒絕權限時沒有指定 CASCADE,DENY 便會失敗。
資料行層級權限優先於物件權限。例如,如果拒絕權限套用至基底物件 (例如資料表),然後授與權限套用至基底物件的其中一個資料行,則權限的被授與者將擁有資料行的存取權 (儘管基底物件上套用了拒絕也一樣)。不過,為了確定資料行層級權限存在,這些權限必須在套用基底物件上的權限之後套用。
附註: |
---|
在 SQL Server 2005 中,保留權限階層中這項不一致的目的是為了回溯相容性。未來的版本將予以移除。 |
sp_helprotect 系統預存程序會報告資料庫層級安全性實體的權限。
注意: |
---|
拒絕資料庫的 CONTROL 權限隱含著拒絕資料庫的 CONNECT 權限。被拒絕資料庫 CONTROL 權限的主體將無法連接至該資料庫。根據相同的 Token,拒絕 CONTROL SERVER 權限隱含著拒絕伺服器的 CONNECT SQL 權限。被拒絕伺服器 CONTROL SERVER 權限的主體將無法連接至該伺服器。 |
權限
呼叫者 (或指定了 AS 選項的主體) 必須具有安全性實體的 CONTROL 權限,或是具有隱含安全性實體 CONTROL 權限的更高權限。如果使用 AS 選項,指定的主體必須擁有要拒絕其權限的類型。
CONTROL SERVER 權限的被授與者 (例如系統管理員 (sysadmin) 固定伺服器角色的成員),可以拒絕伺服器中任何安全性實體的任何權限。資料庫 CONTROL 權限的被授與者 (例如 db_owner 固定資料庫角色的成員),可以拒絕資料庫中任何安全性實體的任何權限。結構描述之 CONTROL 權限的被授與者,可以拒絕結構描述中任何物件的任何權限。如果使用 AS 子句,指定的主體必須擁有要拒絕其權限的類型。
範例
如需安全性實體特定語法,請參閱下列主題。
應用程式角色 |
|
組件 |
|
非對稱金鑰 |
|
憑證 |
|
合約 |
|
資料庫 |
|
端點 |
|
全文檢索目錄 |
|
函數 |
|
登入 |
|
訊息類型 |
|
物件 |
|
佇列 |
|
遠端服務繫結 |
|
角色 |
|
路由 |
|
結構描述 |
|
伺服器 |
|
服務 |
|
預存程序 |
|
對稱金鑰 |
|
同義字 |
|
系統物件 |
|
資料表 |
|
類型 |
|
使用者 |
|
檢視 |
|
XML 結構描述集合 |
請參閱
參考
DENY (Transact-SQL)
REVOKE (Transact-SQL)
sp_addgroup (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changegroup (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropgroup (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpgroup (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 12 月 12 日 |
|