MSSQL: Wie wollen Sie-Skript Gespeicherte Prozedur erstellen mit code?
Ich versuche Abfrage für eine Liste von Definitionen für gespeicherte Prozeduren verwenden von information_schema.Routinen, die vorhanden sind in einer Datenbank in einem anderen aber nicht.
SELECT
t1.Routine_Definition
FROM
[server1].MyDatabase.INFORMATION_SCHEMA.Routines t1
LEFT JOIN
[server2].MyDatabase.INFORMATION_SCHEMA.Routines t2 ON t1.Routine_Name = t2.Routine_Name
WHERE
t2.Routine_Name is null
Das gibt mir die query-Definitionen in einer einzigen Zeile, so dass wenn ich einen Kommentar wie diesen
--Some comment
SELECT Column
FROM Somewhere
SQL wird auskommentiert und ich kann die definition zu erstellen, die SP.
Wie ich parse diese wieder mit der richtigen Zeilenumbrüche?
oder
Gibt es einen besseren Weg, um diese Skripts (mit code)?
- Ist etwas zu tun programmatische eine option für dich, oder muss es T-SQL-Basis? Zum Beispiel könnte es sein, eine VB.NET das Programm läuft im hintergrund und spuckt ein Skript, oder sogar schafft, die fehlenden Objekte selbst?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die gespeicherte Prozedur wird nur angezeigt, auf eine Zeile im Management Studio. Wenn Sie die Abfrage ausführen, mit der Ergebnisse in text, oder verwenden Sie die folgende Sie werden bekommen die korrekte Zeilenumbrüche:
Hier ist, wie ich das umgesetzt ck die Lösung...
das view INFORMATION_SCHEMA gibt nur die ersten 4000 Zeichen in der definition. (Im Idealfall werden Sie nicht haben SP, die sind lang)Sie möchten Skript diese manuell oder auf eine andere Weise.
Ich denke, der einfachste Weg, um Ihre gespeicherten Prozeduren ist die Verwendung der Import - /Export-Dienstprogramm, das gebaut wird in SQL Server Management Studio. Von dort aus können Sie exportieren Sie Ihre Gespeicherten Prozedur-Objekte in das code-Fenster oder auf eine Datei, können Sie sofort ausführen.