Mit dem SSIS-Umgebungsvariable auf verschiedenen Servern
Habe ich gelesen, mehrere Artikel zu Umgebungsvariablen, aber ich kann nicht herausfinden, wie Ihre Verwendung in meinem Fall. Ich bin die Entwicklung von SSIS-Pakete auf meinem lokalen Rechner. Sobald Sie fertig sind, Plane ich die Bereitstellung Inszenierung auf einem Produktions-server. Meine SSIS-Projekt besteht aus mehreren Arbeitspaketen, die meisten von Ihnen eine Verbindung zu 2 Datenbanken (aber jeder server hat seine eigene Kopie der db) und einige excel-Dateien.
So, ich möchte für die Bereitstellung der Pakete auf 3 verschiedenen Servern. Basierend auf server -, Verbindungs-strings, wäre das anders. Da dies immer noch Entwicklungs-phase würde ich erneut bereitstellen Sie, die meisten Pakete, die von Zeit zu Zeit. Was wäre die beste Vorgehensweise um dies zu erreichen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie Ihre Ordner
In der Integration Services-Katalog, unter SSISDB mit der rechten Maustaste und erstellen Sie einen Ordner, geben Sie ihm einen Namen, aber nicht klicken Sie auf OK. Stattdessen, klicken Sie auf Skript, Neues Abfrage-Editor-Fenster. Dies gibt eine Abfrage wie
Laufen, aber dann Speichern Sie es, so können Sie denselben Ordner auf Server 2 und Server 3. Dies wird ein Thema, durch die Art und Weise
Erstellung Ihrer Umwelt
Aktualisieren Sie die dropdown-unter der SSISDB und finden Sie Ihren neu erstellten Ordner. Erweitern Sie es und unter Umgebungen mit der rechten Maustaste und Erstellen Sie Neue Umgebung. Geben Sie einen Namen und eine Beschreibung, aber NICHT auf OK KLICKEN. Stattdessen, klicken Sie auf Skript, Neues Abfrage-Editor-Fenster.
Wir haben jetzt diese code
Ablaufen, und speichern Sie es für die Bereitstellung auf Server 2 und 3.
Hinzufügen von Werten zu einer Umwelt
Aktualisieren Sie die Umgebungen Baum und unter das Fenster Eigenschaften für die neu erstellte Umgebung, klicken Sie auf der Registerkarte "Variablen" und Fügen Sie Ihre Einträge für Connection-strings oder was auch immer. Dies ist, wo Sie wirklich wirklich nicht möchten, klicken Sie auf OK. Stattdessen, klicken Sie auf Skript, Neues Abfrage-Editor-Fenster.
Führen Sie diese Abfrage aus und speichern Sie es dann. Nun, wenn Sie gehen, um die Bereitstellung zu Umgebung 2 und 3, müssen Sie einfach ändern Sie den Wert von
@var
Konfiguration
Zu diesem Punkt, wir haben einfach positioniert uns für den Erfolg in einen konsistenten Satz von Ordner, die Umwelt und die Variable(N) für unsere Pakete. Jetzt müssen wir eigentlich verwenden Sie gegen einen Satz von Paketen. Diese werden davon ausgehen, dass Ihre Pakete bereitgestellt wurden, um die Ordner zwischen den oben genannten Schritt und jetzt.
Rechtsklick auf das Paket/Projekt konfiguriert werden. Sie wahrscheinlich wollen Sie das Projekt.
At dieser point, Sie haben ein script, das fügt eine Referenz zu environment-variable (so Sie es verwenden können) und dann überlagert das gespeicherte Paket Wert mit dem Wert aus der Umwelt.
Diesem Skript gespeichert werden soll, und verwendet für Server 2 & 3.
Job
Alle macht ist, so haben Sie die Konfigurationen zur Verfügung, um Sie. Wenn Sie planen, das Paket Ausführung von einem Auftrag, werden Sie am Ende mit einem job-step wie folgt
ClassicApproach
Umgebung Referenz
Werden Sie feststellen, alle der oben genannten war nett und die angegebene text-strings anstelle von zufälligen integer-Werte, außer für unsere Umwelt zu Verweisen. Das ist, weil Sie haben die gleichen textuellen name für eine Umgebung, in mehreren Ordnern. Ähnlich wie die, die Sie bereitstellen könnten das gleiche Projekt mehrere Ordner, aber aus welchem Grund auch immer, die SSIS-Entwickler entschied sich, um voll qualifizierte Pfade für ein Paket während wir "zufällig" integer-Werte. Um zu bestimmen, Ihre Umwelt-ID, können Sie entweder die folgende Abfrage ausführen
Oder erkunden Sie die Integration Services-Katalog unter-Ordner/- Umgebungen und doppelklicken Sie auf die gewünschte Umgebung. In der resultierenden Umwelt-Eigenschaften-Fenster den Namen und die Id ausgegraut und es ist die
Identifier
Wert der Eigenschaft, die Sie verwenden müssen, Ihre SQL Agent job step-Befehl für die/ENVREFERENCE
Wert.Einwickeln
Wenn du vorsichtig bist und jede Sache, die der Assistent für Sie, Sie haben nur 1 Sache, die geändert werden müssen, wenn Sie migrieren von änderungen in Ihrer gesamten Umgebung. Dies führt zu sauberen, glatten, wiederholbare Prozesse der migration und Sie Fragen, warum Sie jemals wollen, um wieder zu XML-Dateien oder beliebigen anderen Konfigurations-Ansatz.
The property "ServerName" of connection manager "MyConnection" is configured to use an environment variable, but no environment has been selected. Check the "Environment" checkbox and specify the environment to use, or specify a literal value for the property. (Microsoft.DatatransformationServices.DTSExecUI.Controls)
ENVREFERENCE 9
aber Abfrage, die du gepostet gived verschiedenen environment_id (12)SELECT reference_id FROM SSISDB.[catalog].environment_references er JOIN SSISDB.[catalog].projects p ON p.project_id = er.project_id WHERE er.environment_name = 'DevServer' AND p.name = 'MyProjectName';
nochmals vielen Dank!@command
variable