Delen via


Machtigingen verlenen voor een opgeslagen procedure

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

In dit artikel wordt beschreven hoe u machtigingen kunt verlenen voor een opgeslagen procedure in SQL Server met behulp van SQL Server Management Studio of Transact-SQL. Machtigingen kunnen worden verleend aan een bestaande gebruiker, databaserol of toepassingsrol in de database.

Beperkingen en beperkingen

machtigingen

De grantor (of de principal die is opgegeven met de optie AS) moet de machtiging zelf hebben met GRANT OPTIONof een hogere machtiging die impliceert dat de machtiging wordt verleend. Vereist ALTER machtiging voor het schema waartoe de procedure behoort, of CONTROL machtiging voor de procedure. Zie objectmachtigingen verlenenvoor meer informatie.

SQL Server Management Studio gebruiken

Machtigingen verlenen voor een opgeslagen procedure

  1. Maak in Objectverkenner verbinding met een exemplaar van Database Engine en vouw dat exemplaar vervolgens uit.

  2. Vouw Databasesuit, vouw de database waartoe de procedure behoort uit en vouw vervolgens Programmeerbaarheiduit.

  3. Vouw opgeslagen proceduresuit, klik met de rechtermuisknop op de procedure om machtigingen te verlenen en selecteer vervolgens Eigenschappen.

  4. Selecteer in eigenschappen van opgeslagen procedurede pagina Machtigingen.

  5. Als u machtigingen wilt verlenen aan een gebruiker, databaserol of toepassingsrol, selecteert u Zoeken.

  6. Selecteer in Gebruikers of rollen selecterenobjecttypen om de gewenste gebruikers en rollen toe te voegen of te wissen.

  7. Selecteer Bladeren om de lijst met gebruikers of rollen weer te geven. Selecteer de gebruikers of rollen aan wie machtigingen moeten worden verleend.

  8. Selecteer in het raster Expliciete machtigingen de machtigingen die u wilt verlenen aan de opgegeven gebruiker of rol. Zie Machtigingen (Database Engine)voor een beschrijving van de machtigingen.

Als u Verlenen selecteert, wordt aangegeven dat de grantee de opgegeven machtiging krijgt. Als u Verlenen met selecteert, geeft dit aan dat de ontvanger ook de opgegeven machtiging kan verlenen aan andere principalen.

Gebruik Transact-SQL

Machtigingen verlenen voor een opgeslagen procedure

  1. Maak verbinding met de database-engine.

  2. Selecteer in de standaardbalk Nieuwe query.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld wordt EXECUTE machtiging verleend voor de opgeslagen procedure HumanResources.uspUpdateEmployeeHireInfo aan een toepassingsrol met de naam Recruiting11.

USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
    TO Recruiting11;
GO

Machtigingen verlenen voor alle opgeslagen procedures in een schema

  1. Maak verbinding met de database-engine.

  2. Selecteer op de standaardbalk de optie Nieuwe query.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld wordt EXECUTE toestemming verleend aan een toepassingsrol met de naam Recruiting11voor alle opgeslagen procedures die bestaan of zullen bestaan in het HumanResources schema.

USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
    TO Recruiting11;
GO