Поделиться через


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

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL Azure Synapse Analytics Analytics Platform System (PDW) в Microsoft Fabric

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

ограничения

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

Разрешения

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

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

  1. В обозреватель объектов подключитесь к экземпляру ядро СУБД, а затем разверните этот экземпляр.

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

  3. Разверните хранимые процедуры, щелкните правой кнопкой мыши процедуру, чтобы удалить, и нажмите кнопку "Удалить".

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

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

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

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

  1. В обозреватель объектов подключитесь к экземпляру ядро СУБД, а затем разверните этот экземпляр.

  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. Удалите ссылки на процедуру из зависимых объектов и скриптов.

См. также