Удаление хранимой процедуры

Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)

В этой статье описывается удаление хранимой процедуры в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

ограничения

Удаление процедуры может вызвать ошибку в зависимых объектах и в скриптах, если эти объекты и скрипты не обновляются для отражения удаления процедуры. Тем не менее, если вместо удаленной создать другую хранимую процедуру с тем же именем и параметрами, хранимые процедуры, которые на нее ссылаются, будут обрабатываться успешно. Дополнительные сведения см. в разделе Просмотр зависимостей хранимой процедуры.

Разрешения

Необходимо разрешение ALTER на схему, которой принадлежит процедура, или разрешение CONTROL на процедуру.

Использование SQL Server Management Studio

  1. В обозревателе объектов подключитесь к экземпляру Компонент Database Engine и разверните его.

  2. Последовательно разверните узел Базы данных, базу данных, которой принадлежит процедура, и узел Программирование.

  3. Разверните узел Хранимые процедуры, щелкните правой кнопкой мыши удаляемую процедуру и выберите команду Удалить.

  4. Чтобы просмотреть объекты, которые зависят от процедуры, выберите Показать зависимости.

  5. Убедитесь, что выбрана правильная процедура, а затем нажмите кнопку ОК.

  6. Удалите ссылки на процедуру из зависимых объектов и скриптов.

Использование Transact-SQL

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine и разверните его.

  2. Разверните Базы данных, разверните базу данных, к которой относится процедура, или с помощью панели инструментов выберите базу данных из списка доступных.

  3. В меню Файл выберите Создать запрос.

  4. Получите имя хранимой процедуры для удаления из текущей базы данных. В обозревателе объектов разверните узел Программирование , затем Хранимые процедуры. Также можно выполнить следующую инструкцию в редакторе запросов.

    SELECT name AS procedure_name
        , SCHEMA_NAME(schema_id) AS schema_name
        , type_desc
        , create_date
        , modify_date
    FROM sys.procedures;
    
  5. Скопируйте и вставьте следующий пример в редактор запросов и введите имя хранимой процедуры, которую нужно удалить из текущей базы данных.

    DROP PROCEDURE [<stored procedure name>];
    GO
    
  6. Удалите ссылки на процедуру из зависимых объектов и скриптов.

См. также раздел