Dela via


Bevilja behörigheter för en lagrad procedur

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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

Behörigheter

Beviljaren (eller den huvudman som anges med alternativet AS) måste ha antingen behörigheten i sig med GRANT OPTIONeller 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

  1. I Object Explorer ansluter du till en instans av databasmotorn och expanderar sedan den instansen.

  2. Expandera Databaser, expandera databasen som proceduren tillhör och expandera sedan Programmability.

  3. Expandera Lagrade procedurer, högerklicka på proceduren för att bevilja behörigheter och välj sedan Egenskaper.

  4. Från Egenskaper för lagrad procedurväljer du sidan Behörigheter.

  5. Om du vill bevilja behörigheter till en användare, databasroll eller programroll väljer du Sök.

  6. 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.

  7. 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.

  8. 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

  1. Anslut till databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. 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 proceduren HumanResources.uspUpdateEmployeeHireInfo till en programroll med namnet Recruiting11.

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

Bevilja behörigheter för alla lagrade procedurer i ett schema

  1. Anslut till databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. 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 i HumanResources schema, till en programroll med namnet Recruiting11.

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