SQL Server Integration Services-Pakete
Bei einem Paket handelt es sich um eine organisierte Auflistung von Verbindungen, Ablaufsteuerungselementen, Datenflusselementen, Ereignishandlern, Variablen und Konfigurationen, die Sie entweder mit den grafischen Designtools von SQL Server Integration Services oder programmgesteuert erstellen. Anschließend speichern Sie das fertige Paket in SQL Server, im SSIS-Paketspeicher oder im Dateisystem. Das Paket ist jene Arbeitseinheit, die abgerufen, ausgeführt und gespeichert wird.
Wenn Sie ein Paket erstellen, ist es zunächst ein leeres Objekt ohne Funktionalität. Um einem Paket Funktionalität hinzuzufügen, fügen Sie ihm eine Ablaufsteuerung und optional mindestens einen Datenfluss hinzu.
Das folgende Diagramm zeigt ein einfaches Paket, das eine Ablaufsteuerung mit einem Datenflusstask enthält, der wiederum einen Datenfluss enthält.
Nachdem Sie das Basispaket erstellt haben, können Sie erweiterte Funktionen hinzufügen, wie z. B. Protokollierung und Variablen, um die Funktionalität des Pakets zu erweitern. Weitere Informationen finden Sie im Abschnitt zu Objekten, die die Paketfunktionalität erweitern.
Das fertige Paket kann anschließend konfiguriert werden. Legen Sie dazu Eigenschaften auf Paketebene fest, die die Sicherheit implementieren, das erneute Starten von Paketen an Prüfpunkten ermöglichen oder Transaktionen in den Paket-Workflow integrieren. Weitere Informationen finden Sie im Abschnitt zu Eigenschaften, die erweiterte Funktionen unterstützen.
Paketinhalt
Eine Ablaufsteuerung besteht aus Tasks und Containern, die beim Ausführen des Pakets ausgeführt werden. Um die Reihenfolge zu steuern oder die Bedingungen zum Ausführen des nächsten Tasks oder Containers in der Paketablaufsteuerung zu definieren, verbinden Sie mithilfe von Rangfolgeneinschränkungen die Tasks und Container in einem Paket. Eine Teilmenge der Tasks und Container kann auch gruppiert und wiederholt als eine Einheit innerhalb der Paketablaufsteuerung ausgeführt werden. Weitere Informationen finden Sie unter Ablaufsteuerungselemente und Entwerfen einer Paketablaufsteuerung.
Ein Datenfluss besteht aus den Quellen und Zielen zum Extrahieren und Laden von Daten, den Transformationen zum Ändern und Erweitern von Daten sowie den Pfaden zum Verlinken von Quellen, Transformationen und Zielen. Bevor Sie einem Paket einen Datenfluss hinzufügen können, muss die Paketablaufsteuerung einen Datenflusstask einschließen. Der Datenflusstask ist die ausführbare Datei im SSIS-Paket, das den Datenfluss erstellt, anordnet und ausführt. Eine separate Instanz des Datenflussmoduls wird für jeden Datenflusstask in einem Paket geöffnet. Weitere Informationen finden Sie unter Datenflusstask, Datenflusselemente und Entwerfen eines Paketdatenflusses.
Ein Paket schließt in der Regel mindestens einen Verbindungs-Manager ein. Ein Verbindungs-Manager ist ein Link zwischen einem Paket und einer Datenquelle, die die Verbindungszeichenfolge für den Zugriff auf die Daten definiert, die von den Tasks, Transformationen und Ereignishandlern im Paket verwendet wird. Integration Services schließt Verbindungstypen für Datenquellen ein, wie z. B. Text- und XML-Dateien, relationale Datenbanken und Analysis Services-Datenbanken und -Projekte. Weitere Informationen finden Sie unter Integration Services-Verbindungen.
Paketvorlagen
Pakete werden häufig als Vorlagen zum Erstellen von Paketen verwendet, die gemeinsam eine Basisfunktionalität verwenden. Sie können das Basispaket erstellen und dann kopieren. Sie haben auch die Möglichkeit, das Paket als Vorlage festzulegen. Ein Paket, mit dem beispielsweise Dateien heruntergeladen und kopiert und dann die Daten extrahiert werden, kann die Tasks FTP und Dateisystem in einer Foreach-Schleife beinhalten, mit der Dateien in einem Ordner aufgezählt werden. Ebenso kann das Paket Verbindungs-Manager für Flatfiles für den Zugriff auf die Daten sowie Flatfilequellen zum Extrahieren der Daten beinhalten. Das Ziel der Daten variiert. Nach dem Kopieren aus dem Basispaket wird das Ziel jedem neuen Paket hinzugefügt. Sie können auch Pakete erstellen und diese als Vorlagen für die neuen Pakete verwenden, die Sie einem Integration Services-Projekt hinzufügen. Weitere Informationen finden Sie unter Erstellen eines Pakets in Business Intelligence Development Studio.
Wenn ein Paket zum ersten Mal erstellt wird, entweder programmgesteuert oder mithilfe des SSIS-Designers, wird ein GUID (Globally Unique Indentifier) der ID-Eigenschaft und ein Name der Name-Eigenschaft hinzugefügt. Beim Erstellen eines neuen Pakets durch Kopieren eines vorhandenen Pakets oder mithilfe eines Vorlagenpakets werden Name und GUID ebenfalls kopiert. Dies kann problematisch werden, wenn Sie die Protokollierung verwenden, da der GUID und Name des Pakets in die Protokolle geschrieben werden, um das Paket zu identifizieren, zu dem die protokollierten Informationen gehören. Sie sollten daher den Namen und GUID der neuen Pakete aktualisieren, um diese von jenen Paketen zu unterscheiden, von denen sie kopiert wurden, und um in den Protokolldaten eine Unterscheidung untereinander zu ermöglichen.
Zum Ändern des Paket-GUIDs müssen Sie in Business Intelligence Development Studio im Eigenschaftenfenster einen GUID in der ID-Eigenschaft neu generieren. Zum Ändern des Paketnamens können Sie im Eigenschaftenfenster den Wert der Name-Eigenschaft aktualisieren. Sie können auch das Eingabeaufforderungs-Hilfsprogramm dtutilverwenden oder den GUID und Namen programmgesteuert aktualisieren. Weitere Informationen finden Sie unter Festlegen von Paketeigenschaften und dtutil-Hilfsprogramm (SSIS-Tool).
Objekte, die die Paketfunktionalität erweitern
Pakete können zusätzliche Objekte einschließen, die erweiterte Features bereitstellen oder vorhandene Funktionalität erweitern, wie z. B. Ereignishandler, Konfigurationen, Protokollierung und Variablen.
Ereignishandler
Ein Ereignishandler ist ein Workflow, der als Reaktion auf die Ereignisse ausgeführt wird, die von einem Paket, einem Task oder Container ausgelöst werden. Beispielsweise können Sie mit einem Ereignishandler den Speicherplatz überprüfen, wenn ein Ereignis vor der Ausführung oder ein Fehler auftritt, und eine E-Mail-Nachricht senden, um dem Administrator den verfügbaren Speicherplatz oder Fehlerinformationen zu melden. Ein Ereignishandler ist wie ein Paket aufgebaut, mit einer Ablaufsteuerung und optionalen Datenflüssen. Ereignishandler können einzelnen Tasks oder Containern im Paket hinzugefügt werden. Weitere Informationen finden Sie unter Ereignishandler von SQL Server Integration Services und Hinzufügen von Paketereignishandlern.
Konfigurationen
Eine Konfiguration enthält Paare aus einer Eigenschaft und einem Wert, die die Eigenschaften des Pakets und der zugehörigen Tasks, Containers, Variablen, Verbindungen und Ereignishandler beschreiben, wenn das Paket ausgeführt wird. Mithilfe von Konfigurationen können Eigenschaften aktualisiert werden, ohne das Paket zu ändern. Wenn das Paket ausgeführt wird, werden die Konfigurationsinformationen geladen und die Eigenschaftswerte aktualisiert. Beispielsweise kann mit einer Konfiguration die Verbindungszeichenfolge der Verbindung aktualisiert werden.
Die Konfiguration wird gespeichert und mit dem Paket bereitgestellt, wenn das Paket auf einem anderen Computer installiert wird. Die Konfigurationswerte können aktualisiert werden, wenn das Paket installiert wird, damit das Paket in einer anderen Umgebung unterstützt wird. Weitere Informationen finden Sie unter Erstellen von Paketkonfigurationen.
Protokollierung und Protokollanbieter
Bei einem Protokoll handelt es sich um eine Auflistung von Informationen zu dem Paket, die beim Ausführen des Pakets gesammelt werden. Beispielsweise kann ein Protokoll die Start- und Beendigungszeit für die Ausführung eines Pakets bereitstellen. Ein Protokollanbieter definiert den Zieltyp und das Format, der bzw. das vom Paket und dessen Containern und Tasks zum Protokollieren von Laufzeitinformationen verwendet werden kann. Die Protokolle sind einem Paket zugeordnet, aber die Tasks und Container im Paket können Informationen in einem beliebigen Paketprotokoll protokollieren. Integration Services enthält eine Reihe von integrierten Protokollanbietern für die Protokollierung. Beispielsweise enthält Integration Services Protokollanbieter für SQL Server und Textdateien. Darüber hinaus können Sie benutzerdefinierte Protokollanbieter erstellen und zur Protokollierung verwenden. Weitere Informationen finden Sie unter SQL Server Integration Services-Protokollanbieter.
Variablen
Integration Services unterstützt Systemvariablen und benutzerdefinierte Variablen. Die Systemvariablen stellen nützliche Informationen zu Paketobjekten zur Laufzeit bereit, und mit benutzerdefinierten Variablen werden benutzerdefinierte Szenarios in Paketen unterstützt. Beiden Arten von Variablen können in Ausdrücken, Skripts und Konfigurationen verwendet werden.
Die Variablen auf Paketebene schließen die vordefinierten Systemvariablen ein, die für ein Paket verfügbar sind, und die benutzerdefinierten Variablen für den Paketbereich. Weitere Informationen finden Sie unter SQL Server Integration Services-Variablen.
Paketeigenschaften, die erweiterte Features unterstützen
Das Paketobjekt kann so konfiguriert werden, dass Funktionen, wie z. B. das erneute Starten des Pakets an Prüfpunkten, das Signieren des Pakets mit einem digitalen Zertifikat, das Festlegen der Paketschutzebene und das Sicherstellen der Datenintegrität, mithilfe von Transaktionen unterstützt werden.
Erneutes Starten von Paketen
Das Paket schließt Prüfpunkteigenschaften ein, mit denen Sie das Paket neu starten können, wenn bei Tasks ein Fehler auftritt. Wenn z. B. ein Paket zwei Datenflusstasks aufweist, die zwei verschiedene Tabellen aktualisieren, und beim zweiten Task ein Fehler auftritt, kann das Paket erneut ausgeführt werden, ohne den ersten Datenflusstask zu wiederholen. Das erneute Starten eines Pakets kann bei zeitaufwändigen Paketen Zeit sparen. Neustart bedeutet, dass nicht das gesamte Paket erneut ausgeführt werden muss, sondern nur ab dem fehlerhaften Task. Weitere Informationen finden Sie unter Neustarten von fehlerhaften Paketen mit Prüfpunkten.
Sichern von Paketen
Ein Paket kann mit einer digitalen Signatur signiert und mit einem Kennwort oder Benutzerschlüssel verschlüsselt werden. Mit einer digitalen Signatur wird die Quelle des Pakets authentifiziert. Sie müssen jedoch auch Integration Services konfigurieren, um die digitale Signatur zu überprüfen, wenn das Paket lädt. Weitere Informationen finden Sie unter Verwenden von digitalen Signaturen mit Paketen und Festlegen der Paketschutzebene.
Unterstützen von Transaktionen
Durch das Festlegen eines Transaktionsattributs für ein Paket können Tasks, Container und Joins im Paket an der Transaktion teilnehmen. Transaktionsattribute stellen sicher, dass das Paket und die zugehörigen Elemente als eine Einheit erfolgreich ausgeführt werden bzw. einen Fehler erzeugen. Pakete können auch andere Pakete ausführen und andere Pakete für Transaktionen registrieren, damit Sie mehrere Pakete als eine einzelne Arbeitseinheit ausführen können. Weitere Informationen finden Sie unter Sicherstellen der Datenintegrität mithilfe von Transaktionen.
Verfügbare benutzerdefinierte Protokolleinträge für Pakete
In der folgenden Tabelle werden die benutzerdefinierten Protokolleinträge für Pakete aufgelistet. Weitere Informationen finden Sie unter Implementieren der Protokollierung in Pakete und Benutzerdefinierte Meldungen für die Protokollierung.
Protokolleintrag |
Description |
---|---|
PackageStart |
Zeigt den Beginn der Paketausführung an.
Hinweis
Dieser Protokolleintrag wird automatisch in das Protokoll geschrieben. Dieser Eintrag kann nicht ausgeschlossen werden.
|
PackageEnd |
Zeigt den Abschluss der Paketausführung an.
Hinweis
Dieser Protokolleintrag wird automatisch in das Protokoll geschrieben. Dieser Eintrag kann nicht ausgeschlossen werden.
|
Diagnostic |
Enthält Informationen zur Systemkonfiguration, die sich auf die Paketausführung auswirken, wie z. B. die Anzahl ausführbarer Dateien, die gleichzeitig ausgeführt werden können. |
Erstellen eines Pakets
Integration Services schließt neben dem SSIS-Objektmodell zum Erstellen von Paketen zwei grafische Tools ein, den SSIS-Designer und den SQL Server-Import/Export-Assistenten.
Klicken Sie auf ein Thema in der folgenden Liste, um weitere Informationen zum Erstellen von Paketen anzuzeigen:
Konfigurieren des Pakets
Eigenschaften können Sie im Fenster Eigenschaften von Business Intelligence Development Studio oder programmgesteuert festlegen.
Klicken Sie auf das folgende Thema, um weitere Informationen zum Festlegen dieser Eigenschaften zu erhalten:
Programmgesteuertes Konfigurieren des Pakets
Klicken Sie auf das folgende Thema, um weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften zu erhalten:
|