So generieren Sie Skripts für alle Trigger in der Datenbank mit Microsoft SQL Server Management Studio
Ich würde gerne erzeugen ein SQL-Skript enthält die SQL, um alle Trigger, die in der Datenbank existieren. Die Trigger wurden Hinzugefügt, die direkt über die SSMS-Abfrage so, es gibt derzeit keine andere Quelle als den trigger auf der Datenbank selbst.
Ich habe bereits versucht die Methode, in dem Sie mit der rechten Maustaste auf die Datenbank, wählen Sie Tasks->Generate Scripts
und das "Skript Gesamte Datenbank und Alle Objekte" - option. Während dies erzeugt ein SQL-Skript für die Tabellen und Einschränkungen, ist es nicht eine SQL generiert, die für den Trigger.
Ich verstehe auch, dass ich mit der rechten klicken Sie auf die einzelnen trigger in der Datenbank, und wählen Sie die SQL-Skript Generieren-option, aber momentan gibt es 46 Tabellen unter audit (Für Insert -, Update -, und Delete).
Eher manuell generieren, die eine insert -, update-und delete-trigger-Skript für jede der 46 Tabellen, gibt es einen einfacheren Weg, dies zu tun? Oder sollte ich starten klicken, kopieren und einfügen?
InformationsquelleAutor der Frage Grasshopper | 2012-11-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Datenbank-> Tasks-> Skripts Generieren -> Weiter -> Weiter
Auf Wählen Sie "Skript-Optionen UI, unter Tabelle/Ansicht-Optionen" Überschrift, Satz Script-Trigger auf True.
InformationsquelleAutor der Antwort Kapil Khandelwal
Weiß ich die Antwort akzeptiert wurde, bereits, wollen aber eine andere Lösung für die Fälle, wenn aus irgendeinem Grund SSMS-Assistent ist nicht in der Lage zu generieren-Skript für den Trigger (in meinem Fall war es MSSQL2008R2)
Diese Lösung basiert auf der Idee von dana oben, aber verwendet 'sql_modules' statt, um den vollständigen code des triggers, wenn es mehr als 4000 Zeichen (Einschränkung von 'text' - Spalte der 'syscomments" Ansicht)
Rechten Maustaste auf die Ergebnistabelle, und dann "Ergebnisse Speichern unter..." speichert die Datei mit Formatierungen erhalten
InformationsquelleAutor der Antwort Igor
Wie über dieses?
select text from syscomments where text like '%CREATE TRIGGER%'
BEARBEITEN - pro jj ' s Kommentar unten
syscomments
ist veraltet und wird in Zukunft entfallen. Bitte verwenden Sie entweder den Assistenten-basierte oder Skript-basierte Lösungen, die oben aufgeführten voran 🙂InformationsquelleAutor der Antwort dana
mit syscomments können nicht immer funktionieren. Die text-Spalte der syscomments-ist beschränkt auf 4000 Zeichen. Einen trigger übersteigt, wird abgeschnitten. Sie sind möglicherweise nicht in der Lage, um es vollständig.
InformationsquelleAutor der Antwort Jude
Skript für alle Trigger definieren Sie die gespeicherte Prozedur:
Wie Sie es ausführen:
GEHEN
InformationsquelleAutor der Antwort user2894913
Eigentlich, wenn man sich die sys.Kommentare Tabelle hat es eine colid-Feld, das eine numerische Spalte; wenn er länger ist als der max wird es zahlen >1 ist. Wenn Sie wählen Sie eine mit >1 colID und kopieren die beiden (wenn es 2 Platten) es wird Sie geben, die das ganze auslösen!
InformationsquelleAutor der Antwort Patrick Lendrum