Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie werden gespeicherte Prozeduren in Dateien geschrieben?

Gespeicherte Prozeduren werden nicht als Dateien gespeichert, sie werden als Metadaten gespeichert und uns Peons ausgesetzt (danke Michael für die Erinnerung an sysschobjs ) in den Katalogansichten sys.objects , sys.procedures , sys.sql_modules usw. Für eine einzelne gespeicherte Prozedur können Sie die Definition mithilfe dieser Ansichten direkt abfragen (vor allem sys.sql_modules.definition ) oder mithilfe von OBJECT_DEFINITION() funktionieren wie Nicholas wies darauf hin (obwohl seine Beschreibung von syscomments ist nicht ganz korrekt).

Um alle gespeicherten Prozeduren in eine einzelne Datei zu extrahieren, besteht eine Möglichkeit darin, den Objekt-Explorer zu öffnen, your server > databases > your database > programmability zu erweitern und markieren Sie die stored procedures Knoten. Drücken Sie dann F7 (Ansicht> Objekt-Explorer-Details ). Wählen Sie auf der rechten Seite alle gewünschten Prozeduren aus, und klicken Sie dann mit der rechten Maustaste auf script stored procedure as > create to > file . Dadurch wird eine einzige Datei mit allen von Ihnen ausgewählten Verfahren erstellt. Wenn Sie für jedes Verfahren eine einzelne Datei wünschen, können Sie diese Methode verwenden, indem Sie jeweils nur ein Verfahren auswählen, aber das könnte mühsam sein. Sie können diese Methode auch verwenden, um alle buchhaltungsbezogenen Vorgänge in eine Datei, alle finanzbezogenen Vorgänge in eine andere Datei usw. zu skripten.

Eine einfachere Möglichkeit, genau eine Datei pro gespeicherter Prozedur zu generieren, wäre die Verwendung von Generate Skriptassistent - erneut ausgehend vom Objekt-Explorer - klicken Sie mit der rechten Maustaste auf Ihre Datenbank und wählen Sie Tasks > Generate scripts . Wählen Sie Select specific database objects und überprüfen Sie die Stored Procedures der obersten Ebene Kasten. Weiter klicken. Wählen Sie für die Ausgabe Save scripts to a specific location , Save to file , und Single file per object.

Diese Schritte können je nach SSMS-Version leicht abweichen.