Löschen einer gespeicherten Prozedur

Gilt für:yes SQL Server (alle unterstützten Versionen) YesAzure SQL-Datenbank YesAzure SQL verwaltete Instanz yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

In diesem Thema wird beschrieben, wie eine gespeicherte Prozedur in SQL Server 2019 (15.x) mithilfe von SQL Server Management Studio oder Transact-SQL.

Vorbereitungen

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.

Sicherheit

Berechtigungen

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

Vorgehensweise: Löschen einer gespeicherten Prozedur

Sie können eine der folgenden Anwendungen verwenden:

Verwendung von SQL Server Management Studio

So löschen Sie eine Prozedur im Objekt-Explorer

  1. Stellen Objekt-Explorer eine Verbindung mit einer Instanz von Datenbank-Engine 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 klicken Sie dann auf Löschen.

  4. Klicken Sie auf Abhängigkeiten anzeigen, um die von der Prozedur abhängigen Objekte anzuzeigen.

  5. Bestätigen Sie, dass die richtige Prozedur ausgewählt wurde, und klicken Sie dann auf OK.

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

Verwenden von Transact-SQL

So löschen Sie eine Prozedur im Abfrage-Editor

  1. Stellen Objekt-Explorer eine Verbindung mit einer Instanz von Datenbank-Engine 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. Klicken Sie im Menü Datei auf Neue Abfrage.

  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.

Weitere Informationen

Erstellen einer gespeicherten Prozedur
Ändern einer gespeicherten Prozedur
Umbenennen einer gespeicherten Prozedur
Anzeigen der Definition einer gespeicherten Prozedur
Anzeigen der Abhängigkeiten einer gespeicherten Prozedur
DROP PROCEDURE (Transact-SQL)