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
Analytics Platform System (PDW)
Den här artikeln beskriver hur du beviljar behörigheter för en lagrad procedur i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Behörigheter kan beviljas till en befintlig användare, databasroll eller programroll i databasen.
Begränsningar och restriktioner
- Du kan inte använda SQL Server Management Studio för att bevilja behörigheter för systemprocedurer eller systemfunktioner. Använd BEVILJA objektbehörigheter (Transact-SQL) i stället.
Behörigheter
Beviljaren (eller den huvudman som anges med alternativet AS
) måste ha antingen behörigheten i sig med GRANT OPTION
eller en högre behörighet som innebär att behörigheten beviljas. Kräver ALTER
behörighet för schemat som proceduren tillhör eller CONTROL
behörighet för proceduren. Mer information finns i GRANT-objektbehörigheter.
Använda SQL Server Management Studio
Bevilja behörigheter för en lagrad procedur
I Object Explorer ansluter du till en instans av databasmotorn och expanderar sedan den instansen.
Expandera Databaser, expandera databasen som proceduren tillhör och expandera sedan Programmability.
Expandera Lagrade procedurer, högerklicka på proceduren för att bevilja behörigheter och välj sedan Egenskaper.
Från Egenskaper för lagrad procedurväljer du sidan Behörigheter.
Om du vill bevilja behörigheter till en användare, databasroll eller programroll väljer du Sök.
I Välj användare eller rollerväljer du objekttyper för att lägga till eller rensa de användare och roller som du vill använda.
Välj Bläddra för att visa listan över användare eller roller. Välj de användare eller roller som behörigheter ska beviljas till.
I tabellen Explicita behörigheter väljer du de rättigheter att tilldela till den angivna användaren eller rollen. En beskrivning av behörigheterna finns i Behörigheter (databasmotor).
Om du väljer Tilldela innebär det att den angivna behörigheten ges till mottagaren. Om du väljer Bevilja med innebär det att mottagaren också kommer att kunna tilldela den angivna behörigheten till andra användare.
Använd Transact-SQL
Bevilja behörigheter för en lagrad procedur
Anslut till databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Det här exemplet ger
EXECUTE
behörighet för den lagrade procedurenHumanResources.uspUpdateEmployeeHireInfo
till en programroll med namnetRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
Bevilja behörigheter för alla lagrade procedurer i ett schema
Anslut till databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Det här exemplet ger
EXECUTE
behörighet till alla lagrade procedurer som finns, eller kommer att finnas iHumanResources
schema, till en programroll med namnetRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO