C # / SQL Получить все хранимые процедуры и их код - PullRequest
5 голосов
/ 11 октября 2009

Как я могу получить все хранимые процедуры и их код из SQL Server?

Мне нужно показать данные, аналогичные показанным в SQL Server Management Studio, в т.ч. позволяет просматривать SP с кодом, таблицами и индексами.

Любые советы о том, как получить эту информацию из SQL Server? П.С., я использую C #.

Ответы [ 5 ]

2 голосов
/ 11 октября 2009

Использование представления каталога «sysobjects» не рекомендуется с SQL Server 2005 - вместо этого вы должны начать использовать представления каталога из схемы «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 голосов
/ 11 октября 2009

Объекты управления SQL Server (SMO) было бы неплохо для начала. В этой статье приведены примеры кода, в том числе перечисление хранимых процедур:

Начало работы с объектами управления SQL Server (SMO)

0 голосов
/ 11 октября 2009

Другие указали вам правильные направления. Также полезно знать о функции OBJECT_DEFINITION () .

0 голосов
/ 11 октября 2009

Посмотрите на представление Information_schema.procedures.

0 голосов
/ 11 октября 2009
SELECT  sysobjects.name, syscomments.text 
FROM    sysobjects 
JOIN    syscomments 
    ON  sysobjects.id = syscomments.id
WHERE   xtype='P'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...