Программно получить источник хранимой процедуры SQL Server, который идентичен источнику, возвращаемому графическим интерфейсом SQL Server Management Studio?

Вам придется вручную написать stored-procedure код, SQL Profiler показывает sproc следующее.

SMSE выполняет mssql довольно длинную строку запросов sql-srever при создании оператора.

Следующий sql-srever запрос (или что-то подобное) используется sproc для извлечения текста:

SELECT
NULL AS [Text],
ISNULL(smsp.definition, ssmsp.definition) AS [Definition]
FROM
sys.all_objects AS sp
LEFT OUTER JOIN sys.sql_modules AS smsp ON smsp.object_id = sp.object_id
LEFT OUTER JOIN sys.system_sql_modules AS ssmsp ON ssmsp.object_id = sp.object_id
WHERE
(sp.type = N'P' OR sp.type = N'RF' OR sp.type='PC')and(sp.name=N'#test___________________________________________________________________________________________________________________00003EE1' and SCHEMA_NAME(sp.schema_id)=N'dbo')

Он sproc возвращает чистый CREATE, который stored-procedure затем где-то заменяется на mssql ALTER в коде.

К этому добавляются smo элементы SET ANSI NULL, операторы smo GO и даты.

Используйте процедуру smo sp_helptext, ее проще ...

sql-server

stored-procedures

smo

2022-11-01T06:22:06+00:00
Вопросы с похожей тематикой, как у вопроса:

Программно получить источник хранимой процедуры SQL Server, который идентичен источнику, возвращаемому графическим интерфейсом SQL Server Management Studio?