Erstellen von Berichtsdatasets für SQL Server Integration Services

Sie können einen Reporting Services-Bericht mit Daten erstellen, die durch Ausführen eines Integration Services-Pakets generiert wurden. Ein solches Paket muss bestimmte Anforderungen erfüllen, die in diesem Thema beschrieben werden.

HinweisHinweis

Die SSIS-Datenverarbeitungserweiterung wird nicht unterstützt. Diese Datenverarbeitungserweiterung auf dem Server stellt ein Nichtproduktionsfeature dar, das standardmäßig deaktiviert ist. Die Verwendung der SSIS-Datenverarbeitungserweiterung wird auf Produktionsservern derzeit nicht empfohlen. Wenn Sie das Feature aktivieren und auf dem Berichtsserver verwenden, müssen Sie sich bewusst sein, dass das Paket zur Laufzeit unter der Sicherheitsidentität des Windows-Dienstkontos oder des Webdienstkontos des Berichtsservers verarbeitet wird. Dies wirkt sich darauf aus, wie Sie die Datenquellen sichern, auf die das Paket zugreift. Weitere Informationen finden Sie unter Konfigurieren von Reporting Services für die Verwendung von SSIS-Paketdaten.

Der folgende Ablauf von Ereignissen beschreibt die Datenverarbeitung für einen Bericht, in dem Paketdaten verwendet werden:

  • Die Berichtsverarbeitung wird initiiert, wenn ein Benutzer einen Bericht öffnet oder wenn der Berichtsserver den Bericht im Rahmen eines geplanten Vorgangs generiert.

  • Der Berichtsserver stellt eine Verbindung mit der Paketdatei (DTSX) her, die im Dateisystem oder in der msdb-Datenbank gespeichert ist. Die Verbindungszeichenfolge im Bericht muss einen vollqualifizierten Pfad zur Paketdatei angeben.

  • Der Berichtsserver übergibt die im Bericht definierte Abfrage zur Verarbeitung an Integration Services. Die Abfrage entspricht dem Namen des DataReader-Ziels.

  • Der Berichtsserver ruft die Daten ab, führt sie in einem Berichtslayout zusammen und rendert sie dann gemäß den Angaben.

Die Berichtsverarbeitung kann nicht durch ein Integration Services-Ereignis ausgelöst werden. Die Ereignismodelle für die Produkte sind nicht integriert. Die Berichtsverarbeitung muss von Reporting Services initiiert werden.

Bevor Sie SSIS als Datenquellentyp auswählen können, müssen Sie das Konto für die unbeaufsichtigte Ausführung und die SSIS-Datenverarbeitungserweiterung konfigurieren. Weitere Informationen finden Sie unter Konfigurieren des Kontos für die unbeaufsichtigte Ausführung und Konfigurieren von Reporting Services für die Verwendung von SSIS-Paketdaten.

Entwerfen des Pakets

Nicht alle Pakete können verwendet werden, um Daten für einen Bericht bereitzustellen. Zu den Anforderungen, die ein Paket erfüllen muss, damit es Berichtsdaten bereitstellen kann, gehört die Verwendung eines DataReader-Ziels, das ein speicherinternes Ziel bereitstellt. Die folgende Liste beschreibt weitere Anforderungen und Schritte für das Erstellen des Pakets und des Berichts.

  1. Erstellen Sie in Integration Services ein Paket, das über mindestens einen Datenflusstask verfügt, der ein oder mehrere DataReader-Ziele auffüllt. Das Zielobjekt muss die Eingabespalten einschließen, die Sie im Bericht verwenden möchten.

  2. Konfigurieren Sie eine Verbindung zu einer externen Datenquelle. Ist das Paket mit einer relationalen SQL Server-Datenquelle verbunden, können Sie zwischen Windows-Authentifizierung und SQL Server-Authentifizierung auswählen. Verwenden Sie beim Konfigurieren der Verbindung die SQL Server-Authentifizierung mit einem gespeicherten Kennwort.

  3. Führen Sie das Paket aus, um zu überprüfen, ob es die erwarteten Daten zurückgibt. Weitere Informationen zum Einrichten eines Daten-Viewers, in dem die vom Paket zurückgegebenen Daten angezeigt werden, finden Sie unter Vorgehensweise: Hinzufügen eines Daten-Viewers zu einem Datenfluss.

  4. Speichern Sie das Paket in einem Ordner im Dateisystem oder in SQL Server. Das Speichern des Pakets im SSIS-Paketspeicher wird nicht unterstützt.

  5. Achten Sie auf den Namen des DataReader-Ziels, das das Resultset enthält, das Sie im Bericht verwenden möchten. Sie müssen diesen Namen später als Berichtsabfrage angeben.

Definieren der Verbindung und der Abfrage in einem Bericht

Nachdem Sie das Paket definiert haben, können Sie einen Bericht erstellen, der die SSIS-Datenverarbeitungserweiterung verwendet. Der Bericht muss ein Dataset enthalten, das eine Verbindung zum Paket angibt. Die Datasetabfrage entspricht dem Namen eines DataReader-Ziels. Zum Ausführen des Pakets werden die im Dataset definierten Anmeldeinformationen verwendet. Die folgende Liste enthält weitere Informationen zu den Verbindungs- und Abfragedefinitionen, die Sie im Berichtsdataset angeben müssen:

  • Die Datenquelle muss vom Typ SSIS sein.

  • Beim Anmeldeinformationstyp kann es sich um Keine Anmeldeinformationen oder um Windows-Anmeldeinformationen handeln. Die Datenbankauthentifizierung kann nicht verwendet werden. Wenn Sie die Verbindung im Berichtsdataset neu erstellen, werden die Anmeldeinformationen automatisch auf Keine Anmeldeinformationen festgelegt. Nachdem Sie den Bericht veröffentlicht haben, können Sie den Berichts-Manager oder SQL ServerManagement Studio verwenden, um den Anmeldeinformationstyp in die integrierte Sicherheit von Windows oder ein gespeichertes Windows-Benutzerkonto zu ändern. Stellen Sie beim Speichern der Anmeldeinformationen sicher, dass die Option Beim Herstellen einer Verbindung mit der Datenquelle als Windows-Anmeldeinformationen verwenden ausgewählt ist. Angeforderte Anmeldeinformationen werden nicht unterstützt.

  • Die Verbindungszeichenfolge für das Paket muss einem vollqualifizierten Pfad zur Paketdatei (DTSX) im Dateisystem oder in msdb entsprechen. Verwenden Sie das -file- oder das -sql-Argument des Dienstprogramms dtexec. Das Dienstprogramm selbst muss nicht angegeben werden. Die SSIS-Datenverarbeitungserweiterung führt das Dienstprogramm als Hintergrundprozess aus. Weitere Informationen zu Befehlszeilenargumenten finden Sie unter dtexec (Dienstprogramm). Das folgende Beispiel veranschaulicht die Syntax der Verbindungszeichenfolge, mit der ein Paket aus dem Dateisystem abgerufen werden kann:

    -f c:\datafiles\packages\reportdatapackage.dtsx
    
  • Die Abfrage entspricht dem Namen des DataReader-Ziels. Standardmäßig lautet dieser Name DataReaderDest. Sie können ihn durch einen anderen Namen ersetzen.