Löschen einer gespeicherten Prozedur

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

In diesem Artikel wird beschrieben, wie eine gespeicherte Prozedur in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL gelöscht wird.

Einschränkungen

Das Löschen einer Prozedur kann dazu führen, dass abhängige Objekte und Skripts fehlerhaft sind, wenn diese Objekte und Skripts nicht so aktualisiert werden, dass sie Löschung der Prozedur widerspiegeln. Wird jedoch eine neue Prozedur mit demselben Namen und denselben Parametern erstellt, um die gelöschte Prozedur zu ersetzen, können andere Objekte, die darauf verweisen, weiterhin erfolgreich verarbeitet werden. Weitere Informationen finden Sie unter Anzeigen der Abhängigkeiten einer gespeicherten Prozedur.

Berechtigungen

Erfordert die ALTER-Berechtigung im Schema, zu der die Prozedur gehört, oder die CONTROL-Berechtigung für die Prozedur.

Verwenden von SQL Server Management Studio

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von Datenbank-Engine her, und erweitern Sie dann diese Instanz.

  2. Erweitern Sie Datenbanken, erweitern Sie die Datenbank, zu der die Prozedur gehört, und erweitern Sie dann Programmierbarkeit.

  3. Erweitern Sie Gespeicherte Prozeduren, klicken Sie mit der rechten Maustaste auf die zu entfernende Prozedur, und wählen Sie dann Löschen aus.

  4. Wählen Sie Abhängigkeiten anzeigen aus, um die von der Prozedur abhängigen Objekte anzuzeigen.

  5. Bestätigen Sie, dass die richtige Prozedur ausgewählt wurde, und wählen Sie dann OK aus.

  6. Entfernen Sie in allen abhängigen Objekten und Skripts die Verweise auf die Prozedur.

Verwenden von Transact-SQL

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer Instanz von Datenbank-Engine her, und erweitern Sie dann diese Instanz.

  2. Erweitern Sie Datenbanken, erweitern Sie die Datenbank, in die die Prozedur gehört, oder wählen Sie in der Symbolleiste die Datenbank aus der Liste der verfügbaren Datenbanken aus.

  3. Wählen Sie im Menü Datei die Option Neue Abfrage aus.

  4. Rufen Sie den Namen der gespeicherten Prozedur ab, der aus der aktuellen Datenbank entfernt werden soll. Erweitern Sie im Objekt-Explorer Programmierbarkeit , und erweitern Sie dann Gespeicherte Prozeduren. Führen Sie stattdessen im Abfrage-Editor die folgende Anweisung aus.

    SELECT name AS procedure_name
        , SCHEMA_NAME(schema_id) AS schema_name
        , type_desc
        , create_date
        , modify_date
    FROM sys.procedures;
    
  5. Kopieren und fügen Sie das folgende Beispiel in den Abfrage-Editor ein, und fügen Sie einen Namen der gespeicherten Prozedur ein, der aus der aktuellen Datenbank gelöscht werden soll.

    DROP PROCEDURE [<stored procedure name>];
    GO
    
  6. Entfernen Sie in allen abhängigen Objekten und Skripts die Verweise auf die Prozedur.

Siehe auch