Odstranění uložené procedury
Platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Platforma analytických systémů (PDW)
databáze SQL v Microsoft Fabric
Tento článek popisuje, jak odstranit uloženou proceduru na SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL.
Omezení a restrikce
Odstranění procedury může způsobit selhání závislých objektů a skriptů, pokud objekty a skripty nejsou aktualizovány tak, aby odrážely odebrání procedury. Pokud se však vytvoří nový postup se stejným názvem a stejnými parametry, který nahradí odstraněný, ostatní objekty, které na něj odkazují, budou stále úspěšně zpracovávat. Další informace naleznete v tématu Zobrazení závislostí uložené procedury.
Dovolení
Vyžaduje oprávnění ALTER na schéma, ke kterému procedura patří, nebo oprávnění CONTROL na proceduru.
Použití aplikace SQL Server Management Studio
V Průzkumníku objektů se připojte k instanci serveru a pak tuto instanci rozšiřte.
Rozbalte Databáze, rozbalte databázi, ke které náleží procedura, a potom rozbalte Programovatelnost.
Rozbalte uložené procedury, klikněte pravým tlačítkem myši na proceduru, kterou chcete odebrat, a potom vyberte Odstranit.
Chcete-li zobrazit objekty, které závisí na postupu, vyberte Zobrazit závislosti.
Potvrďte, že je vybrán správný postup, a pak vyberte OK.
Odeberte odkazy na proceduru ze všech závislých objektů a skriptů.
Použijte Transact-SQL
V Průzkumník objektůse připojte k instanci Database Engine a poté rozbalte instanci.
Rozbalte Databáze, rozbalte databázi, do které procedura patří, nebo na panelu nástrojů vyberte databázi ze seznamu dostupných databází.
V nabídce Soubor vyberte Nový dotaz.
Získejte název uložené procedury, která se má odebrat v aktuální databázi. V Průzkumníku objektů rozbalte Programovatelnost a potom rozbalte Uložené procedury. Případně v editoru dotazů spusťte následující příkaz.
SELECT name AS procedure_name , SCHEMA_NAME(schema_id) AS schema_name , type_desc , create_date , modify_date FROM sys.procedures;
Zkopírujte a vložte následující příklad do editoru dotazů a vložte název uložené procedury, který chcete odstranit z aktuální databáze.
DROP PROCEDURE [<stored procedure name>]; GO
Odeberte odkazy na proceduru ze všech závislých objektů a skriptů.