2009-10-11 21 views
5

¿Cómo puedo obtener todos los procedimientos almacenados y su código de SQL Server?C#/SQL Obtenga todos los procedimientos almacenados y su código

Necesito mostrar datos que sean similares a lo que muestra SQL Server Management Studio, incl. permitiendo navegar a través de SP con código, tablas e índices.

¿Alguna sugerencia sobre cómo obtener esta información de SQL Server? P.S., estoy usando C#.

Respuesta

0
SELECT sysobjects.name, syscomments.text 
FROM sysobjects 
JOIN syscomments 
    ON sysobjects.id = syscomments.id 
WHERE xtype='P' 
+0

El "sys.procedures" vista de catálogo también incluye elementos de xtype = PC, RF (filtros de replicación) y X (procs almacenados extendidos) en su listado –

0

vistazo a la vista Information_schema.procedures.

0

Otros lo han señalado en las instrucciones correctas. También puede ser útil conocer la función OBJECT_DEFINITION().

2

El uso de la vista de catálogo "sysobjects" se desaconseja a partir de SQL Server 2005; en su lugar, debe comenzar a utilizar las vistas de catálogo desde el esquema "sys" (o las vistas INFORMATION_SCHEMA, si la portabilidad de la base de datos es importante para usted) como esto:

SELECT 
    pr.name, 
    m.definition, 
    pr.type_desc, 
    pr.create_date, 
    pr.modify_date 
FROM 
    sys.procedures pr 
INNER JOIN 
    sys.sql_modules m ON pr.object_id = m.object_id 
WHERE 
    is_ms_shipped = 0 
ORDER BY 
    pr.Name 

Marc

Cuestiones relacionadas