Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Beviljar behörigheter för en databasanvändare, databasroll eller programroll i SQL Server.
Transact-SQL syntaxkonventioner
Syntax
GRANT permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
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
permission
Anger en behörighet som kan beviljas för databasens huvudnamn. En lista över behörigheterna finns i avsnittet Kommentarer senare i det här avsnittet.
USER ::database_user
Anger klassen och namnet på den användare där behörigheten beviljas. Omfångskvalificeraren (::) krävs.
ROLE ::database_role
Anger klassen och namnet på den roll som behörigheten beviljas för. Omfångskvalificeraren (::) krävs.
PROGRAMROLL ::application_role
Anger klassen och namnet på den programroll som behörigheten beviljas för. Omfångskvalificeraren (::) krävs.
MED ALTERNATIVET BEVILJA
Anger att huvudkontot också kommer att ges möjlighet att bevilja den angivna behörigheten till andra huvudnamn.
AS-database_principal <>
Anger ett huvudnamn från vilket huvudnamnet som kör den här frågan härleder sin rätt att bevilja behörigheten.
Database_user
Anger en databasanvändare.
Database_role
Anger en databasroll.
Application_role
Gäller för: SQL Server 2008 (10.0.x) och senare SQL Database.
Anger en programroll.
Database_user_mapped_to_Windows_User
Anger en databasanvändare som mappats till en Windows-användare.
Database_user_mapped_to_Windows_Group
Anger en databasanvändare som mappats till en Windows-grupp.
Database_user_mapped_to_certificate
Anger en databasanvändare som mappats till ett certifikat.
Database_user_mapped_to_asymmetric_key
Anger en databasanvändare som mappats till en asymmetrisk nyckel.
Database_user_with_no_login
Anger en databasanvändare utan motsvarande huvudnamn på servernivå.
Remarks
Information om databasobjekt visas i sys.database_principals katalogvyn. Information om behörigheter på databasnivå visas i sys.database_permissions katalogvyn.
Databasanvändarbehörigheter
En databasanvändare är en databasnivå som kan säkras av databasen som är dess överordnade i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan beviljas för en databasanvändare visas i följande tabell, tillsammans med de mer allmänna behörigheter som omfattar dem under implikation.
| Databasanvändarbehörighet | Underförstådd av databasanvändarbehörighet | Underförstådd av databasbehörighet |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDRA ALLA ANVÄNDARE |
| VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Behörigheter för databasroll
En databasroll är en databasnivå som kan säkras av databasen som är dess överordnade i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan beviljas för en databasroll visas i följande tabell, tillsammans med de mer allmänna behörigheter som omfattar dem under implikation.
| Behörighet för databasroll | Underförstådd av behörighet för databasroll | Underförstådd av databasbehörighet |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| TAKE OWNERSHIP | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDRA VILKEN ROLL SOM HELST |
| VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Behörigheter för programroller
En programroll är en databasnivå som kan säkras av databasen som är dess överordnade i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan beviljas för en programroll visas i följande, tillsammans med de mer allmänna behörigheter som omfattar dem under implikation.
| Behörighet för programroll | Underförstådd av programrollbehörighet | Underförstådd av databasbehörighet |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ÄNDRA VILKEN PROGRAMROLL SOM HELST |
| VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Permissions
Beviljaren (eller det huvudnamn som anges med ALTERNATIVET AS) måste ha antingen behörigheten själv med GRANT OPTION eller en högre behörighet som innebär att behörigheten beviljas.
Om du använder AS-alternativet gäller följande ytterligare krav.
| AS granting_principal | Ytterligare behörighet krävs |
|---|---|
| Database user | PERSONIFIERA behörighet för användaren, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin. |
| Databasanvändare mappad till en Windows-användare | PERSONIFIERA behörighet för användaren, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin. |
| Databasanvändare mappad till en Windows-grupp | Medlemskap i Windows-gruppen, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin. |
| Databasanvändare mappad till ett certifikat | Medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin. |
| Databasanvändare mappad till en asymmetrisk nyckel | Medlemskap i den db_securityadminfixed databasrollen, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin. |
| Databasanvändaren har inte mappats till något serverhuvudnamn | PERSONIFIERA behörighet för användaren, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin. |
| Database role | ÄNDRA behörighet för rollen, medlemskap i den db_securityadminfixed databasrollen, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin. |
| Application role | ALTER-behörighet för rollen, medlemskap i db_securityadmin fast databasroll, medlemskap i db_owner fast databasroll eller medlemskap i den fasta serverrollen sysadmin. |
Huvudnamn som har KONTROLL-behörighet för en skyddsbar kan bevilja behörighet för den skyddsbara filen.
Beviljar kontrollbehörighet för en databas, till exempel medlemmar i den db_owner fasta databasrollen, kan bevilja alla behörigheter för alla skyddsbara i databasen.
Examples
A. Bevilja KONTROLL-behörighet för en användare till en annan användare
I följande exempel ges CONTROL behörighet AdventureWorks2022 för användaren Wanida till användaren RolandX.
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B. Bevilja VIEW DEFINITION-behörighet för en roll till en användare med GRANT OPTION
I följande exempel ges VIEW DEFINITION behörighet för AdventureWorks2022 rollen SammamishParking tillsammans med GRANT OPTION databasanvändaren JinghaoLiu.
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C. Bevilja IMPERSONATE-behörighet för en användare till en programroll
I följande exempel ges IMPERSONATE behörighet för användare HamithaL till AdventureWorks2022 programrollen AccountsPayable17.
Gäller för: SQL Server 2008 (10.0.x) och senare SQL Database.
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
See Also
Neka behörigheter för databasens huvudnamn (Transact-SQL)
ÅTERKALLA behörigheter för databasens huvudnamn (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
SKAPA ANVÄNDARE (Transact-SQL)
SKAPA PROGRAMROLL (Transact-SQL)
SKAPA ROLL (Transact-SQL)
GRANT (Transact-SQL)
Behörigheter (Databasmotor)
huvudnamn (databasmotor)