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

时间:2009-10-11 03:47:00

标签: c# sql sql-server stored-procedures

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

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

有关如何从SQL Server中获取此信息的任何提示? P.S.,我正在使用C#。

5 个答案:

答案 0 :(得分:2)

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

Getting started with SQL Server Management Objects (SMO)

答案 1 :(得分:2)

从SQL Server 2005开始不建议使用“sysobjects”目录视图 - 相反,您应该开始使用“sys”模式中的目录视图(如果数据库可移植性对您很重要,则应使用INFORMATION_SCHEMA视图)像这样:

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

马克

答案 2 :(得分:0)

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

答案 3 :(得分:0)

查看Information_schema.procedures视图。

答案 4 :(得分:0)

其他人指出了正确的方向。了解OBJECT_DEFINITION()函数也很有帮助。