C#/SQL获取所有存储过程及其代码

C#/SQL获取所有存储过程及其代码,c#,sql,sql-server,stored-procedures,C#,Sql,Sql Server,Stored Procedures,如何从SQL Server获取所有存储过程及其代码 我需要显示与SQL Server Management Studio类似的数据,包括允许使用代码、表和索引浏览SP 关于如何从SQL Server中获取此信息的任何提示?另外,我正在使用C#。(SMO)将是一个很好的起点。本文有一些代码示例,包括列出存储过程: 查看信息schema.procedures视图。其他人已经为您指明了正确的方向。了解该函数也会很有帮助。从SQL Server 2005开始,不鼓励使用“sysobjects”目录视图-

如何从SQL Server获取所有存储过程及其代码

我需要显示与SQL Server Management Studio类似的数据,包括允许使用代码、表和索引浏览SP

关于如何从SQL Server中获取此信息的任何提示?另外,我正在使用C#。

(SMO)将是一个很好的起点。本文有一些代码示例,包括列出存储过程:


查看信息schema.procedures视图。

其他人已经为您指明了正确的方向。了解该函数也会很有帮助。

从SQL Server 2005开始,不鼓励使用“sysobjects”目录视图-相反,您应该开始使用“sys”架构中的目录视图(或信息架构视图,如果数据库可移植性对您很重要),如下所示:

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

目录视图“sys.procedures”的列表中还包括xtype=PC、RF(复制过滤器)和X(扩展存储过程)元素
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