如何从SQL Server获取所有存储过程及其代码?
我需要显示与SQL Server Management Studio显示的数据类似的数据,包括。允许使用代码,表和索引浏览SP。
有关如何从SQL Server中获取此信息的任何提示? P.S.,我正在使用C#。
答案 0 :(得分:2)
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()函数也很有帮助。