Číst v angličtině

Sdílet prostřednictvím


Odstranění uložené procedury

Platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatforma 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

  1. V Průzkumníku objektů se připojte k instanci serveru a pak tuto instanci rozšiřte.

  2. Rozbalte Databáze, rozbalte databázi, ke které náleží procedura, a potom rozbalte Programovatelnost.

  3. Rozbalte uložené procedury, klikněte pravým tlačítkem myši na proceduru, kterou chcete odebrat, a potom vyberte Odstranit.

  4. Chcete-li zobrazit objekty, které závisí na postupu, vyberte Zobrazit závislosti.

  5. Potvrďte, že je vybrán správný postup, a pak vyberte OK.

  6. Odeberte odkazy na proceduru ze všech závislých objektů a skriptů.

Použijte Transact-SQL

  1. V Průzkumník objektůse připojte k instanci Database Engine a poté rozbalte instanci.

  2. Rozbalte Databáze, rozbalte databázi, do které procedura patří, nebo na panelu nástrojů vyberte databázi ze seznamu dostupných databází.

  3. V nabídce Soubor vyberte Nový dotaz.

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

    SQL
    SELECT name AS procedure_name
        , SCHEMA_NAME(schema_id) AS schema_name
        , type_desc
        , create_date
        , modify_date
    FROM sys.procedures;
    
  5. 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.

    SQL
    DROP PROCEDURE [<stored procedure name>];
    GO
    
  6. Odeberte odkazy na proceduru ze všech závislých objektů a skriptů.

Viz také