Microsoft SQL Server Recuperar una lista de todos los procedimientos almacenados


Ejemplo

Las siguientes consultas devolverán una lista de todos los procedimientos almacenados en la base de datos, con información básica sobre cada procedimiento almacenado:

SQL Server 2005
SELECT *
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'

Las ROUTINE_NAME , ROUTINE_SCHEMA y ROUTINE_DEFINITION son generalmente las más útiles.

SQL Server 2005
SELECT *
FROM sys.objects
WHERE type = 'P'
SQL Server 2005
SELECT *
FROM sys.procedures

Tenga en cuenta que esta versión tiene una ventaja sobre la selección de sys.objects, ya que incluye las columnas adicionales is_auto_executed , is_execution_replicated , is_repl_serializable y skips_repl_constraints .

SQL Server 2005
SELECT *
FROM sysobjects
WHERE type = 'P'

Tenga en cuenta que la salida contiene muchas columnas que nunca se relacionarán con un procedimiento almacenado.

El siguiente conjunto de consultas devolverá todos los procedimientos almacenados en la base de datos que incluyen la cadena 'SearchTerm':

SQL Server 2005
SELECT o.name
FROM syscomments c
INNER JOIN sysobjects o
    ON c.id=o.id
WHERE o.xtype = 'P'
    AND c.TEXT LIKE '%SearchTerm%'
SQL Server 2005
SELECT p.name
FROM sys.sql_modules AS m
INNER JOIN sys.procedures AS p
    ON m.object_id = p.object_id
WHERE definition LIKE '%SearchTerm%'