Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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
- U kunt SQL Server Management Studio niet gebruiken om machtigingen te verlenen voor systeemprocedures of systeemfuncties. Gebruik in plaats daarvan OBJECTmachtigingen verlenen (Transact-SQL).
machtigingen
De grantor (of de principal die is opgegeven met de optie AS
) moet de machtiging zelf hebben met GRANT OPTION
of 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
Maak in Objectverkenner verbinding met een exemplaar van Database Engine en vouw dat exemplaar vervolgens uit.
Vouw Databasesuit, vouw de database waartoe de procedure behoort uit en vouw vervolgens Programmeerbaarheiduit.
Vouw opgeslagen proceduresuit, klik met de rechtermuisknop op de procedure om machtigingen te verlenen en selecteer vervolgens Eigenschappen.
Selecteer in eigenschappen van opgeslagen procedurede pagina Machtigingen.
Als u machtigingen wilt verlenen aan een gebruiker, databaserol of toepassingsrol, selecteert u Zoeken.
Selecteer in Gebruikers of rollen selecterenobjecttypen om de gewenste gebruikers en rollen toe te voegen of te wissen.
Selecteer Bladeren om de lijst met gebruikers of rollen weer te geven. Selecteer de gebruikers of rollen aan wie machtigingen moeten worden verleend.
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
Maak verbinding met de database-engine.
Selecteer in de standaardbalk Nieuwe query.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld wordt
EXECUTE
machtiging verleend voor de opgeslagen procedureHumanResources.uspUpdateEmployeeHireInfo
aan een toepassingsrol met de naamRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
Machtigingen verlenen voor alle opgeslagen procedures in een schema
Maak verbinding met de database-engine.
Selecteer op de standaardbalk de optie Nieuwe query.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld wordt
EXECUTE
toestemming verleend aan een toepassingsrol met de naamRecruiting11
voor alle opgeslagen procedures die bestaan of zullen bestaan in hetHumanResources
schema.
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO