Freigeben über


DENY (Typberechtigungen) (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance SQL-Datenbank in Microsoft Fabric

Verweigert die Berechtigungen für einen Typ in SQL Server.

Transact-SQL-Syntaxkonventionen

Syntax

DENY permission  [ ,...n ] ON TYPE :: [ schema_name . ] type_name  
        TO <database_principal> [ ,...n ]  
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<database_principal> ::=   
        Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login  

Argumente

permission
Gibt eine Berechtigung an, die für einen Typ verweigert werden kann. Eine Liste der Berechtigungen finden Sie im Abschnitt zu den Hinweisen weiter unten in diesem Thema.

ON TYPE :: [ schema_name. ] type_name
Gibt den Typ an, für den die Berechtigung verweigert wird. Der Bereichsqualifizierer ( :: ) ist erforderlich. Wenn schema_name nicht angegeben ist, wird das Standardschema verwendet. Wenn schema_name angegeben ist, ist der Schemabereichsqualifizierer ( . ) erforderlich.

TO <Datenbankprinzipal>
Gibt den Prinzipal an, für den die Berechtigung verweigert wird.

CASCADE
Gibt an, dass die verweigerte Berechtigung auch anderen Prinzipalen verweigert wird, denen diese Berechtigung von diesem Prinzipal erteilt wurde.

AS <Datenbankprinzipal>
Gibt einen Prinzipal an, von dem der Prinzipal, der diese Abfrage ausführt, das Recht zum Verweigern der Berechtigung ableitet.

Database_user
Gibt einen Datenbankbenutzer an.

Database_role
Gibt eine Datenbankrolle an.

Application_role

Gibt eine Anwendungsrolle an.

Database_user_mapped_to_Windows_User

Gibt einen Datenbankbenutzer an, der einem Windows-Benutzer zugeordnet ist.

Database_user_mapped_to_Windows_Group

Gibt einen Datenbankbenutzer an, der einer Windows-Gruppe zugeordnet ist.

Database_user_mapped_to_certificate

Gibt einen Datenbankbenutzer an, der einem Zertifikat zugeordnet ist.

Database_user_mapped_to_asymmetric_key

Gibt einen Datenbankbenutzer an, der einem asymmetrischen Schlüssel zugeordnet ist.

Database_user_with_no_login
Gibt einen Datenbankbenutzer ohne entsprechenden Prinzipal auf Serverebene an.

Bemerkungen

Ein Typ ist ein sicherungsfähiges Element auf Schemaebene in dem Schema, das das übergeordnete Element in der Berechtigungshierarchie ist.

Wichtig

Die Berechtigungen GRANT, DENY und REVOKE gelten nicht für Systemtypen. Benutzerdefinierten Typen können Berechtigungen erteilt werden. Weitere Informationen zu benutzerdefinierten Typen finden Sie unter Arbeiten mit benutzerdefinierten Typen in SQL Server.

Die spezifischsten und restriktivsten Berechtigungen, die für einen Typ verweigert werden können, sind unten aufgeführt. Auch die allgemeineren Berechtigungen sind aufgeführt, die diese implizit enthalten.

Typberechtigung Impliziert durch die Typberechtigung Impliziert durch die Schemaberechtigung
CONTROL CONTROL CONTROL
Führen Sie CONTROL Führen Sie
REFERENCES CONTROL REFERENCES
TAKE OWNERSHIP CONTROL CONTROL
VIEW DEFINITION CONTROL VIEW DEFINITION

Berechtigungen

Erfordert die CONTROL-Berechtigung für den Typ. Falls die AS-Klausel verwendet wird, muss der angegebene Prinzipal der Besitzer des Typs sein, für den Berechtigungen verweigert werden.

Beispiele

Im folgenden Beispiel wird die VIEW DEFINITION-Berechtigung mit der CASCADE im benutzerdefinierten PhoneNumber-Typ für den Benutzer KhalidR verweigert. PhoneNumber befindet sich im Schema Telemarketing.

DENY VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber   
    TO KhalidR CASCADE;  
GO  

Weitere Informationen

GRANT (Typberechtigungen) (Transact-SQL)
REVOKE (Typberechtigungen) (Transact-SQL)
CREATE TYPE (Transact-SQL)
Prinzipale (Datenbank-Engine)
Berechtigungen (Datenbank-Engine)
Sicherungsfähige Elemente