适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 预览版中的 SQL 数据库

本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中删除存储过程。

限制和局限

如果依赖对象和脚本尚未更新以反映过程的删除,则删除过程可能会导致这些对象和脚本失败。 但是,如果创建了具有相同名称和参数的新过程来替换已被删除的过程,那么引用该过程的其他对象仍能成功处理。 有关详细信息,请参阅 查看存储过程的依赖关系

Permissions

需要拥有对该过程所属架构的 ALTER 权限,或对该过程的 CONTROL 权限。

使用 SQL Server Management Studio

  • 在对象资源管理器中,连接到 数据库引擎 的实例,然后展开该实例。

  • 展开 “数据库” ,展开过程所属的数据库,然后展开 “可编程性”

  • 展开“存储过程”,右键单击要删除的过程,再选择“删除”

  • 若要查看依赖于过程的对象,请选择“显示依赖关系”

  • 确认选择了正确的过程,再选择“确定”

  • 从所有依赖对象和脚本中删除对该过程的引用。

    Use Transact-SQL

  • “对象资源管理器” 中,连接到 数据库引擎 的实例,然后展开该实例。

  • 展开 数据库 、展开包含该过程的数据库,或从工具栏的可用数据库列表中选择数据库。

  • 在“文件”菜单上,选择“新建查询”

  • 获取要在当前数据库中删除的存储过程的名称。 从对象资源管理器,展开 “可编程性” ,再展开 “存储过程” 。 或者,在查询编辑器中,运行以下语句:

    SELECT name AS procedure_name
        , SCHEMA_NAME(schema_id) AS schema_name
        , type_desc
        , create_date
        , modify_date
    FROM sys.procedures;
    
  • 将以下示例复制并粘贴到查询编辑器,然后插入要从当前数据库中删除的存储过程名称。

    DROP PROCEDURE [<stored procedure name>];
    
  • 从所有依赖对象和脚本中删除对该过程的引用。

    See also

    创建存储过程
  • 修改存储过程
  • 重命名存储过程
  • 查看存储过程的定义 查看存储过程的依赖关系 DROP PROCEDURE (Transact-SQL)