DENY 端點權限 (Transact-SQL)
拒絕端點的權限。
語法
DENY permission [ ,...n ] ON ENDPOINT :: endpoint_name
TO < server_principal > [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
引數
permission
指定可以拒絕的端點權限。 如需權限清單,請參閱這個主題稍後的「備註」一節。ON ENDPOINT ::endpoint_name
指定要拒絕其權限的端點。 需要範圍限定詞 (::)。TO <server_principal>
指定要拒絕其權限的 SQL Server 登入。SQL_Server_login
指定 SQL Server 登入的名稱。SQL_Server_login_from_Windows_login
指定從 Windows 登入建立的 SQL Server 登入名稱。SQL_Server_login_from_certificate
指定對應至憑證的 SQL Server 登入名稱。SQL_Server_login_from_AsymKey
指定對應至非對稱金鑰的 SQL Server 登入名稱。CASCADE
指出目前受到拒絕的權限,也為這個主體曾授與此權限的其他主體所拒絕。AS SQL_Server_login
指定 SQL Server 登入,執行這項查詢的主體會從這項登入衍生其權限來拒絕權限。
備註
只有在目前資料庫是 master 的情況下,才能夠拒絕伺服器範圍的權限。
您可以在 sys.endpoints 目錄檢視中,看到有關端點的資訊。 您可以在 sys.server_permissions 目錄檢視中,看到有關伺服器權限的資訊,且可以在 sys.server_principals 目錄檢視中,看到有關伺服器主體的資訊。
端點是伺服器層級的安全性實體。 下表所列的是可以拒絕之最特定和最有限的端點權限,並列出利用隱含方式來併入這些權限的較通用權限。
端點權限 |
端點權限所隱含 |
伺服器權限所隱含 |
---|---|---|
ALTER |
CONTROL |
ALTER ANY ENDPOINT |
CONNECT |
CONTROL |
CONTROL SERVER |
CONTROL |
CONTROL |
CONTROL SERVER |
TAKE OWNERSHIP |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
權限
需要端點的 CONTROL 權限或伺服器的 ALTER ANY ENDPOINT 權限。
範例
A. 拒絕端點的 VIEW DEFINITION 權限
下列範例拒絕在 SQL Server 的 Mirror7 端點上,登入 ZArifin 的 VIEW DEFINITION 權限。
USE master;
DENY VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;
GO
B. 拒絕具有 CASCADE 選項的 TAKE OWNERSHIP 權限
下列範例會對 SQL Server 使用者 PKomosinski 拒絕端點 Shipping83 的 TAKE OWNERSHIP 權限,並對 PKomosinski 對其授與 TAKE OWNERSHIP 的主體拒絕該權限。
USE master;
DENY TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski
CASCADE;
GO