EXEC sp_helptext 'your procedure name';
Това избягва проблема с подхода INFORMATION_SCHEMA, при който съхранената процедура се прекъсва, ако е твърде дълга.
Актуализация:Дейвид пише, че това не е идентично с неговия proc... може би защото връща редовете като „записи“, за да запази форматирането? Ако искате да видите резултатите в по-„естествен“ формат, можете първо да използвате Ctrl-T (извеждане като текст) и той трябва да го отпечата точно както сте го въвели. Ако правите това в код, е тривиално да направите foreach, за да съберете резултатите си по абсолютно същия начин.
Актуализация 2:Това ще предостави на източника "CREATE PROCEDURE", а не "ALTER PROCEDURE", но не знам начин да го накарам да използва "ALTER" вместо това. Малко тривиално нещо обаче, нали?
Актуализация 3:Вижте коментарите за малко повече информация как да поддържате своя SQL DDL (структура на база данни) в система за контрол на източника. Това наистина е ключът към този въпрос.