EXEC sp_helptext 'your procedure name';
Detta undviker problemet med INFORMATION_SCHEMA-metoden där den lagrade proceduren avbryts om den är för lång.
Uppdatering:David skriver att detta inte är identiskt med hans sproc...kanske för att det returnerar raderna som "poster" för att bevara formateringen? Om du vill se resultaten i ett mer "naturligt" format kan du använda Ctrl-T först (mata ut som text) och det ska skrivas ut precis som du har skrivit in det. Om du gör detta i kod, är det trivialt att göra en foreach för att sammanställa dina resultat på exakt samma sätt.
Uppdatering 2:Detta kommer att förse källan med en "CREATE PROCEDURE" snarare än en "ALTER PROCEDURE", men jag vet inget sätt att få den att använda "ALTER" istället. Lite trivialt, eller hur?
Uppdatering 3:Se kommentarerna för lite mer insikt om hur du underhåller din SQL DDL (databasstruktur) i ett källkontrollsystem. Det är verkligen nyckeln till denna fråga.