Uložené procedury nejsou uloženy jako soubory, jsou uloženy jako metadata a vystaveny nám peonům (díky Michaelovi za připomenutí sysschobjs
) v zobrazení katalogu sys.objects
, sys.procedures
, sys.sql_modules
, atd. Pro jednotlivou uloženou proceduru se můžete dotazovat na definici přímo pomocí těchto pohledů (nejdůležitější je sys.sql_modules.definition
) nebo pomocí OBJECT_DEFINITION()
fungovat, jak upozornil Nicholas
(ačkoli jeho popis syscomments
není zcela přesné).
Chcete-li extrahovat všechny uložené procedury do jednoho souboru, jednou z možností by bylo otevřít Průzkumníka objektů, rozbalit your server > databases > your database > programmability
a zvýrazněte stored procedures
uzel. Poté stiskněte F7 (Zobrazit> Podrobnosti Průzkumníka objektů
). Na pravé straně vyberte všechny požadované procedury, poté klikněte pravým tlačítkem myši, script stored procedure as > create to > file
. Tím se vytvoří jeden soubor se všemi postupy, které jste vybrali. Pokud chcete jeden soubor pro každou proceduru, můžete použít tuto metodu tak, že vyberete pouze jednu proceduru najednou, ale to může být únavné. Tuto metodu můžete také použít ke skriptování všech účetních postupů do jednoho souboru, všech postupů souvisejících s financemi do jiného souboru atd.
Jednodušší způsob, jak vygenerovat přesně jeden soubor na uloženou proceduru, by bylo použít Generate Průvodce skripty
- opět počínaje Object Explorer - klikněte pravým tlačítkem na databázi a vyberte Tasks > Generate scripts
. Zvolte Select specific database objects
a zkontrolujte Stored Procedures
nejvyšší úrovně krabice. Klepněte na tlačítko Další. Pro výstup zvolte Save scripts to a specific location
, Save to file
a Single file per object.
Tyto kroky se mohou mírně lišit v závislosti na vaší verzi SSMS.