GRANT-typbehörigheter (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Ger behörigheter på en typ.

Transact-SQL syntaxkonventioner

Syntax

GRANT permission  [ ,...n ] ON TYPE :: [ schema_name . ] type_name  
    TO <database_principal> [ ,...n ]  
    [ WITH GRANT OPTION ]  
    [ 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  

Arguments

tillåtelse
Specificerar en behörighet som kan ges för en typ. För en lista över behörigheterna, se avsnittet Anmärkningar senare i detta ämne.

PÅ SKRIFT :: [ schema_name. ] type_name
Specificerar vilken typ som tillståndet beviljas för. Omfattningskvalificeraren (::) krävs. Om schema_name inte anges kommer standardschemat att användas. Om schema_name anges krävs schema-scope-qualifieren (.).

TILL database_principal <> Specificerar den huvudperson som tillståndet ges till.

MED BIDRAGSOPTION
Indikerar att huvudpersonen också kommer att ges möjlighet att ge det angivna tillståndet till andra huvudmän.

AS <database_principal> Specificerar en princip från vilken den princip som utför denna fråga härleder sin rätt att bevilja tillståndet.

Database_user
Specificerar en databasanvändare.

Database_role
Specificerar en databasroll.

Application_role
Gäller för: SQL Server 2008 (10.0.x) och senare, SQL Database

Specificerar en applikationsroll.

Database_user_mapped_to_Windows_User
Gäller för: SQL Server 2008 (10.0.x) och senare

Specificerar en databasanvändare mappad till en Windows-användare.

Database_user_mapped_to_Windows_Group
Gäller för: SQL Server 2008 (10.0.x) och senare

Specificerar en databasanvändare mappad till en Windows-grupp.

Database_user_mapped_to_certificate
Gäller för: SQL Server 2008 (10.0.x) och senare

Specificerar en databasanvändare mappad till ett certifikat.

Database_user_mapped_to_asymmetric_key
Gäller för: SQL Server 2008 (10.0.x) och senare

Specificerar en databasanvändare mappad till en asymmetrisk nyckel.

Database_user_with_no_login
Specificerar en databasanvändare utan motsvarande servernivåprincip.

Anmärkningar

En typ är en schemanivå-securabel som innesluts av schemat som är dess förälder i behörighetshierarkin.

Viktigt!

GRANT-, NEAK- och REVOKE-behörigheter gäller inte för systemtyper. Användardefinierade typer kan ges behörigheter. För mer information om användardefinierade typer, se Working with User-Defined Types in SQL Server.

De mest specifika och begränsade behörigheterna som kan ges för en typ listas i följande tabell, tillsammans med de mer generella behörigheterna som inkluderar dem implicit.

Typbehörighet Underförstått genom typgodkännande Underförstått av schematillstånd
CONTROL CONTROL CONTROL
EXECUTE CONTROL EXECUTE
REFERENCES CONTROL REFERENCES
TA ÄGARSKAP CONTROL CONTROL
VISA DEFINITION CONTROL VISA DEFINITION

Permissions

Givaren (eller huvudpersonen som anges med AS-optionen) måste ha antingen själva tillståndet med GRANT OPTION, eller ett högre tillstånd som innebär att tillståndet beviljas.

Om du använder AS-alternativet gäller följande ytterligare krav.

SOM Ytterligare tillstånd krävs
Databasanvändare IMITERA användarens behörighet, medlemskap i den db_securityadmin fasta databasrollen, medlemskap i den db_owner fasta databasrollen eller medlemskap i sysadmin-funktionen med fast server.
Databasanvändare mappad till en Windows-inloggning IMITERA användarens behörighet, medlemskap i den db_securityadmin fasta databasrollen, medlemskap i den db_owner fasta databasrollen eller medlemskap i sysadmin-funktionen med fast server.
Databasanvändare mappad till en Windows-grupp Medlemskap i Windows-gruppen, medlemskap i den db_securityadmin fasta databasrollen, medlemskap i den db_owner fasta databasrollen eller medlemskap i sysadmin-rollen som fast server.
Databasanvändare mappad till ett certifikat Medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i sysadmin-rollen som fast server.
Databasanvändare mappad till en asymmetrisk nyckel Medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i sysadmin-rollen som fast server.
Databasanvändare är inte mappad till någon serverprincip IMITERA användarens behörighet, medlemskap i den db_securityadmin fasta databasrollen, medlemskap i den db_owner fasta databasrollen eller medlemskap i sysadmin-funktionen med fast server.
Databasroll ALTER-behörighet på rollen, medlemskap i den db_securityadmin fasta databasrollen, medlemskap i den db_owner fasta databasrollen eller medlemskap i sysadmin-rollen som fast server.
Applikationsroll ALTER-behörighet på rollen, medlemskap i den db_securityadmin fasta databasrollen, medlemskap i den db_owner fasta databasrollen eller medlemskap i sysadmin-rollen som fast server.

Examples

Följande exempel ger behörighet med GRANT OPTION på den användardefinierade typen PhoneNumber till användaren KhalidR.VIEW DEFINITION PhoneNumber är placerad i schemat Telemarketing.

GRANT VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber   
    TO KhalidR WITH GRANT OPTION;  
GO  

Se även

FÖRNEKA Typbehörigheter (Transact-SQL)
ÅTERKALLA TYPBEHÖRIGHETER (Transact-SQL)
SKAPA TYP (Transact-SQL)
Behörigheter (Databasmotor)
Securables
huvudnamn (databasmotor)