分享方式:


DENY 端點權限 (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

拒絕端點的權限。

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 權限

下列範例拒絕端點 Mirror7 上,SQL Server 登入 ZArifinVIEW DEFINITION 權限。

USE master;  
DENY VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;  
GO  

B. 拒絕具有 CASCADE 選項的 TAKE OWNERSHIP 權限

下列範例會對 SQL Server 使用者 PKomosinski 拒絕端點 Shipping83TAKE OWNERSHIP 權限,並對 PKomosinski 對其授與 TAKE OWNERSHIP 的主體拒絕該權限。

USE master;  
DENY TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski   
    CASCADE;  
GO  

另請參閱

GRANT 端點權限 (Transact-SQL)
REVOKE 端點權限 (Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
端點目錄檢視 (Transact-SQL)
sys.endpoints (Transact-SQL)
權限 (資料庫引擎)
主體 (資料庫引擎)