Таким способом вы можете получить тело, но нет способа разобрать отдельные утверждения:
SELECT definition FROM sys.sql_modules
WHERE [object_id] = OBJECT_ID('dbo.procedurename');
Вы можете получить его параметры:
SELECT name, system_type_id, max_length, precision, scale
FROM sys.parameters
WHERE [object_id] = OBJECT_ID('dbo.procedurename');
Обратите внимание, что без анализа методом перебора определения невозможно определить, имеют ли параметры значение по умолчанию и, если они имеют, какое значение по умолчанию. Вы лучше подготовлены к тому, чтобы делать это в C #, используя RegEx или другие методы синтаксического анализа.