Ta bort en lagrad procedur
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
I den här artikeln beskrivs hur du tar bort en lagrad procedur i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.
Begränsningar och restriktioner
Om du tar bort en procedur kan beroende objekt och skript misslyckas när objekten och skripten inte uppdateras för att återspegla borttagningen av proceduren. Men om en ny procedur med samma namn och samma parametrar skapas för att ersätta den som togs bort, kommer andra objekt som refererar till det fortfarande att bearbetas korrekt. Mer information finns i Visa beroenden för en lagrad procedur.
Behörigheter
Kräver ALTER-behörighet för schemat som proceduren tillhör, eller KONTROLL-behörighet för proceduren.
Använda SQL Server Management Studio
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 Programmerbarhet.
Expandera Lagrade procedurer, högerklicka på proceduren för att ta bort och välj sedan Ta bort.
Om du vill visa objekt som är beroende av proceduren väljer du Visa beroenden.
Bekräfta att rätt procedur har valts och välj sedan OK.
Ta bort referenser till proceduren från beroende objekt och skript.
Använd Transact-SQL
I Object Exploreransluter du till en instans av databasmotorn och expanderar sedan den instansen.
Expandera Databaser, expandera databasen som proceduren tillhör, eller välj databasen i listan över tillgängliga databaser i verktygsfältet.
På Arkiv-menyn väljer du Ny fråga.
Hämta namnet på den lagrade proceduren som du vill ta bort i den aktuella databasen. Från Objektutforskaren, expandera först Programmerbarhet och därefter Lagrade procedurer. Du kan också köra följande instruktion i frågeredigeraren.
SELECT name AS procedure_name , SCHEMA_NAME(schema_id) AS schema_name , type_desc , create_date , modify_date FROM sys.procedures;
Kopiera och klistra in följande exempel i frågeredigeraren och infoga ett lagrat procedurnamn som ska tas bort från den aktuella databasen.
DROP PROCEDURE [<stored procedure name>]; GO
Ta bort referenser till proceduren från beroende objekt och skript.