2016-08-30 1 views
1

Ich habe 19 verschiedene Instanzen und ich möchte eine gespeicherte Prozedur erstellen, die alle SQL-Jobs Details zurückgibt. Eine Kreation nach der anderen ist eine Möglichkeit, etwas zu erschaffen, das ist gut, aber es ist zeitaufwendig.Wie kann ich eine gespeicherte Prozedur in mehreren Instanzen in einem einzigen Skript erstellen?

Gibt es eine andere Möglichkeit, die gespeicherte Prozedur in allen 19 verschiedenen Instanzen durch einen einzigen Durchlauf oder ein einzelnes Skript zu erstellen?

Beispiel für meinen Skript:

CREATE PROC Get_Jobs_Inventory_Detail 
AS 
    SELECT 
     j.name AS [Job Name], 
     j.[description], 
     j.date_created, 
     j.date_modified, 
     CASE j.[enabled] 
      WHEN 0 THEN 'Disabled' 
      WHEN 1 THEN 'Enabled' 
     END AS [Job Status] 
    FROM 
     msdb.dbo.sysjobs j 
    GROUP BY 
     j.name, j.[description], j.date_created, j.date_modified, j.[enabled] 
    ORDER BY 
     j.[enabled] 

Dies ist meine erste Frage in jedem Blog.

Antwort

0

erreicht werden, wenn Sie registrierten Server in Management Studio verwenden, können Sie direkt auf eine Servergruppe kopieren und einfügen "Neue Abfrage. Das von Ihnen ausgeführte Skript wird auf allen Servern ausgeführt. Dies erfordert eine Konfiguration der Standarddatenbank pro Serverregistrierung oder Creative-Verwendung unter" USE "im Skript, aber wenn Ihre Instanzen zur Struktur passen oder Sie bereits registrierte Server haben konfiguriert, könnte dies sehr hilfreich sein.

0

versuchen dieses

Prozedur erstellen < @ param1, param2 @, etc ..> als

Ende GO GRANT EXECUTE ON GO beginnen

1

Sie können PowerShell für diesen verwenden:

Dieses Skript wird alle Instanzen auf dem lokalen Computer abrufen und den Befehl ausführen, den Sie in einer Schleife benötigen.

Ich persönlich verwende PS für diese Art der Sache, aber das könnte mit sqlcmd oder BCP

Verwandte Themen