Unterstützung für SQL Server Reporting Services in Amazon RDS für SQL Server - Amazon Relational Database Service

Unterstützung für SQL Server Reporting Services in Amazon RDS für SQL Server

Microsoft SQL Server Reporting Services (SSRS) ist eine serverbasierte Anwendung, die für die Berichterstellung und -verteilung verwendet wird. Es ist Teil einer Suite von SQL Server-Services, die auch SQL Server Analysis Services (SSAS) und SQL Server Integration Services (SSIS) enthält. SSRS ist ein Service, der auf SQL Server basiert. Sie können damit Daten aus verschiedenen Datenquellen sammeln und auf eine Weise präsentieren, die leicht verständlich und für die Analyse bereit ist.

Amazon RDS for SQL Server unterstützt das Ausführen von SSRS direkt auf RDS-DB-Instances. Sie können SSRS für vorhandene oder neue DB-Instances aktivieren.

RDS unterstützt SSRS für SQL Server Standard und Enterprise Edition in den folgenden Versionen:

  • SQL Server 2019, Version 15.00.4043.16.v1 und höher

  • SQL Server 2017, Version 14.00.3223.3.v1 und höher

  • SQL Server 2016, Version 13.00.5820.21.v1 und höher

Einschränkungen und Empfehlungen

Die folgenden Einschränkungen und Empfehlungen gelten für die Ausführung von SSRS auf RDS for SQL Server:

  • Instances müssen AWS Managed Microsoft AD für die SSRS-Webportal- und Webserverauthentifizierung verwenden.

  • Das Importieren und Wiederherstellen von Berichtsserverdatenbanken aus anderen SSRS-Instances wird nicht unterstützt.

    Stellen Sie sicher, dass Sie die Datenbanken verwenden, die erstellt werden, wenn die SSRS-Option zur RDS-DB-Instance hinzugefügt wird. Weitere Informationen finden Sie unter Berichtsserverdatenbanken.

  • Sie können SSRS nicht so konfigurieren, dass der standardmäßige SSL-Port (443) überwacht wird. Die zulässigen Werte sind 1150–49511, außer 1234, 1434, 3260, 3343, 3389 und 47001.

  • Abonnements per E-Mail oder eine Microsoft Windows-Dateifreigabe werden nicht unterstützt.

  • Die Verwendung von Reporting Services Configuration Manager wird nicht unterstützt.

  • Das Erstellen und Ändern von Rollen wird nicht unterstützt.

  • Das Ändern der Eigenschaften des Berichtsservers wird nicht unterstützt.

  • Systemadministrator- und Systembenutzerrollen werden nicht erteilt.

  • Sie können Rollenzuweisungen auf Systemebene nicht über das Webportal bearbeiten.

Aktivieren von SSRS

Verwenden Sie den folgenden Prozess, um SSRS für Ihre DB-Instance zu aktivieren:

  1. Erstellen Sie eine neue Optionsgruppe oder wählen Sie eine bestehende Optionsgruppe aus.

  2. Fügen Sie die Option SSRS zur Optionsgruppe hinzu.

  3. Ordnen Sie die Optionsgruppe der DB-Instance zu.

  4. Erlauben Sie eingehenden Zugriff auf die VPC-Sicherheitsgruppe (Virtual Private Cloud) für den SSRS-Listener-Port.

Erstellen einer Optionsgruppe für SSRS

Um mit SSRS zu arbeiten, erstellen Sie eine Optionsgruppe, die der SQL Server-Engine und der Version der DB-Instance entspricht, die Sie verwenden möchten. Verwenden Sie dazu die AWS Management Console oder AWS CLI.

Anmerkung

Sie können auch eine vorhandene Optionsgruppe verwenden, wenn es sich um die korrekte SQL Server-Engine und -Version handelt.

Mit der folgenden Prozedur wird eine Optionsgruppe für SQL Server Standard Edition 2017 erstellt.

So erstellen Sie die Optionsgruppe

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Option groups (Optionsgruppen) aus.

  3. Wählen Sie Create group (Gruppe erstellen) aus.

  4. Führen Sie im Bereich Create option group (Optionsgruppe erstellen) Folgendes aus:

    1. Geben Sie unter Name einen Namen für die Optionsgruppe ein, der innerhalb Ihres AWS-Kontos nur einmal vorkommt, z. B. ssrs-se-2017. Der Name darf nur Buchstaben, Ziffern und Bindestriche enthalten.

    2. Geben Sie unter Beschreibung eine kurze Beschreibung der Optionsgruppe ein, z. B. SSRS option group for SQL Server SE 2017. Die Beschreibung ist nur zur Information.

    3. Wählen Sie für Engine die Option sqlserver-se aus.

    4. Wählen Sie im Feld Major Engine Version (Engine-Hauptversion) 14.00 aus.

  5. Wählen Sie Create aus.

Mit der folgenden Prozedur wird eine Optionsgruppe für SQL Server Standard Edition 2017 erstellt.

So erstellen Sie die Optionsgruppe

  • Führen Sie einen der folgenden Befehle aus.

Für Linux, macOS oder Unix:

aws rds create-option-group \ --option-group-name ssrs-se-2017 \ --engine-name sqlserver-se \ --major-engine-version 14.00 \ --option-group-description "SSRS option group for SQL Server SE 2017"

Für Windows:

aws rds create-option-group ^ --option-group-name ssrs-se-2017 ^ --engine-name sqlserver-se ^ --major-engine-version 14.00 ^ --option-group-description "SSRS option group for SQL Server SE 2017"

Hinzufügen der SSRS-Option zu Ihrer Optionsgruppe

Verwenden Sie als Nächstes die AWS Management Console oder AWS CLI, um die Option SSRS zu Ihrer Optionsgruppe hinzuzufügen.

So fügen Sie die SSRS-Option hinzu

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Option groups (Optionsgruppen) aus.

  3. Wählen Sie die Optionsgruppe aus, die Sie gerade erstellt haben.

  4. Wählen Sie Add option (Option hinzufügen).

  5. Wählen Sie unter Optionsdetails für Optionsname die Option SSRS aus.

  6. Führen Sie unter Optionseinstellungen die folgenden Schritte aus:

    1. Geben Sie den Port ein, den der SSRS-Service überwachen soll. Der Standardwert ist 8443. Eine Liste der zulässigen Werte finden Sie unter Einschränkungen und Empfehlungen.

    2. Geben Sie einen Wert für Max. Speicher ein.

      Max. Speicher gibt den oberen Schwellenwert an, über dem keine neuen Speicherzuordnungsanforderungen für Berichtsserveranwendungen erteilt werden. Die Zahl ist ein Prozentsatz des Gesamtspeichers der DB-Instance. Die zulässigen Werte sind 10–80.

  7. Wählen Sie für Security groups (Sicherheitsgruppen) die VPC-Sicherheitsgruppe aus, die der Option zugeordnet werden soll. Verwenden Sie dieselbe Sicherheitsgruppe, die Ihrer DB-Instance zugeordnet ist.

  8. Wählen Sie unter Scheduling (Planung) aus, ob die Option sofort oder während des nächsten Wartungsfensters hinzugefügt werden soll.

  9. Wählen Sie Add option (Option hinzufügen).

So fügen Sie die SSRS-Option hinzu

  1. Erstellen Sie beispielsweise ssrs-option.json, eine JSON-Datei mit den folgenden Parametern:

    • OptionGroupName – Der Name der Optionsgruppe, die Sie zuvor erstellt oder ausgewählt haben (ssrs-se-2017 im folgenden Beispiel).

    • Port – Der Port, den der SSRS-Service überwachen soll. Der Standardwert ist 8443. Eine Liste der zulässigen Werte finden Sie unter Einschränkungen und Empfehlungen.

    • VpcSecurityGroupMemberships – VPC-Sicherheitsgruppenmitgliedschaften für Ihre RDS-DB-Instance.

    • MAX_MEMORY – Der obere Schwellenwert, über dem keine neuen Speicherzuordnungsanforderungen für Berichtsserveranwendungen erteilt werden. Die Zahl ist ein Prozentsatz des Gesamtspeichers der DB-Instance. Die zulässigen Werte sind 10–80.

    { "OptionGroupName": "ssrs-se-2017", "OptionsToInclude": [ { "OptionName": "SSRS", "Port": 8443, "VpcSecurityGroupMemberships": ["sg-0abcdef123"], "OptionSettings": [{"Name": "MAX_MEMORY","Value": "60"}] }], "ApplyImmediately": true }
  2. Fügen Sie die Option SSRS zur Optionsgruppe hinzu.

    Für Linux, macOS oder Unix:

    aws rds add-option-to-option-group \ --cli-input-json file://ssrs-option.json \ --apply-immediately

    Für Windows:

    aws rds add-option-to-option-group ^ --cli-input-json file://ssrs-option.json ^ --apply-immediately

Zuordnen Ihrer Optionsgruppe zu Ihrer DB-Instance

Verwenden Sie die AWS Management Console oder AWS CLI, um Ihre Optionsgruppe Ihrer DB-Instance zuzuordnen.

Wenn Sie eine vorhandene DB-Instance verwenden, muss ihr bereits eine Active Directory-Domäne und eine AWS Identity and Access Management (IAM)-Rolle zugeordnet sein. Wenn Sie eine neue Instance erstellen, geben Sie eine vorhandene Active Directory-Domäne und IAM-Rolle an. Weitere Informationen finden Sie unter Verwenden der Windows-Authentifizierung mit einer Amazon-RDS-for-SQL-Server-DB-Instance.

Sie können Ihre Optionsgruppe einer neuen oder vorhandenen DB-Instance zuordnen:

Sie können Ihre Optionsgruppe einer neuen oder vorhandenen DB-Instance zuordnen.

So erstellen Sie eine DB-Instance, die Ihre Optionsgruppe verwendet

  • Geben Sie denselben DB-Engine-Typ und dieselbe Hauptversion an, die Sie beim Erstellen der Optionsgruppe verwendet haben.

    Für Linux, macOS oder Unix:

    aws rds create-db-instance \ --db-instance-identifier myssrsinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 14.00.3223.3.v1 \ --allocated-storage 100 \ --master-user-password secret123 \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssrs-se-2017

    Für Windows:

    aws rds create-db-instance ^ --db-instance-identifier myssrsinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 14.00.3223.3.v1 ^ --allocated-storage 100 ^ --master-user-password secret123 ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssrs-se-2017

So ändern Sie eine DB-Instance für die Verwendung Ihrer Optionsgruppe

  • Führen Sie einen der folgenden Befehle aus.

    Für Linux, macOS oder Unix:

    aws rds modify-db-instance \ --db-instance-identifier myssrsinstance \ --option-group-name ssrs-se-2017 \ --apply-immediately

    Für Windows:

    aws rds modify-db-instance ^ --db-instance-identifier myssrsinstance ^ --option-group-name ssrs-se-2017 ^ --apply-immediately

Zulassen des eingehenden Zugriffs auf Ihre VPC-Sicherheitsgruppe

Um eingehenden Zugriff auf die VPC-Sicherheitsgruppe zu gewähren, die Ihrer DB-Instance zugeordnet ist, erstellen Sie eine eingehende Regel für den angegebenen SSRS-Listener-Port. Weitere Informationen zum Einrichten von Sicherheitsgruppen finden Sie unter Ermöglichen des Zugriffs auf Ihre DB-Instance in der VPC durch Erstellen einer Sicherheitsgruppe.

Berichtsserverdatenbanken

Wenn Ihre DB-Instance mit der Option SSRS verknüpft ist, werden zwei neue Datenbanken für Ihre DB-Instance erstellt: rdsadmin_ReportServer und rdsadmin_ReportServerTempDB. Diese Datenbanken fungieren als ReportServer- und ReportServerTempDB-Datenbanken. SSRS speichert seine Daten in der ReportServer-Datenbank und speichert die Daten in der ReportServerTempDB-Datenbank zwischen. RDS besitzt und verwaltet diese Datenbanken, sodass Datenbankoperationen auf ihnen wie ALTER und DROP nicht zulässig sind.

Zugriff auf das SSRS-Webportal

Gehen Sie wie folgt vor, um auf das SSRS-Webportal zuzugreifen:

  1. Aktivieren Sie Secure Sockets Layer (SSL).

  2. Gewähren Sie Domänenbenutzern Zugriff.

  3. Greifen Sie mit einem Browser und den Anmeldeinformationen des Domänenbenutzers auf das Webportal zu.

Aktivieren von SSL auf RDS

SSRS verwendet das HTTPS-SSL-Protokoll für seine Verbindungen. Um mit diesem Protokoll arbeiten zu können, importieren Sie ein SSL-Zertifikat in das Microsoft Windows-Betriebssystem auf Ihrem Client-Computer.

Weitere Informationen zu SSL-Zertifikaten finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung mit DB-instance. Weitere Informationen über die Verwendung von SSL mit SQL Server finden Sie unter Verwenden von SSL mit einer Microsoft SQL Server-DB-Instance.

Gewähren des Zugriffs für Domänenbenutzer

Bei einer neuen SSRS-Aktivierung gibt es keine Rollenzuweisungen in SSRS. Um einem Domänenbenutzer oder einer Benutzergruppe Zugriff auf das Webportal zu gewähren, stellt RDS eine gespeicherte Prozedur bereit.

So erteilen Sie einem Domänenbenutzer Zugriff auf das Webportal

  • Verwenden Sie die folgende gespeicherte Prozedur.

    exec msdb.dbo.rds_msbi_task @task_type='SSRS_GRANT_PORTAL_PERMISSION', @ssrs_group_or_username=N'AD_domain\user';

Dem Domänenbenutzer oder der Benutzergruppe wird die RDS_SSRS_ROLE-Systemrolle erteilt. Diese Rolle hat die folgenden Aufgaben auf Systemebene erteilt:

  • Ausführen von Berichtsdefinitionen

  • Verwalten von Aufträgen

  • Verwalten von freigegebenen Zeitplänen

  • Anzeigen von freigegebenen Zeitplänen

Die Rolle Content Manager auf Elementebene im Stammordner wird ebenfalls gewährt.

Zugriff auf das Webportal

Nachdem die SSRS_GRANT_PORTAL_PERMISSION-Aufgabe erfolgreich abgeschlossen wurde, haben Sie Zugriff auf das Portal über einen Webbrowser. Die Webportal-URL hat das folgende Format.

https://rds_endpoint:port/Reports

In diesem Format gilt Folgendes:

So greifen Sie auf das Webportal zu

  1. Geben Sie die Webportal-URL in Ihrem Browser ein.

    https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/Reports
  2. Melden Sie sich mit den Anmeldeinformationen für einen Domänenbenutzer an, dem Sie Zugriff mit der SSRS_GRANT_PORTAL_PERMISSION-Aufgabe gewährt haben.

Bereitstellen von Berichten zu SSRS

Nachdem Sie Zugriff auf das Webportal haben, können Sie Berichte für das Webportal bereitstellen. Sie können das Upload-Tool im Webportal verwenden, um Berichte hochzuladen oder direkt über SQL Server Data Tools (SSDT) bereitzustellen. Stellen Sie bei der Bereitstellung von SSDT Folgendes sicher:

  • Der Benutzer, der SSDT gestartet hat, hat Zugriff auf das SSRS-Webportal.

  • Der TargetServerURL-Wert in den SSRS-Projekteigenschaften ist auf den HTTPS-Endpunkt der RDS-DB-Instance mit dem Suffix ReportServer gesetzt, zum Beispiel:

    https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/ReportServer

Widerrufen von Berechtigungen auf Systemebene

Die RDS_SSRS_ROLE-Systemrolle verfügt nicht über ausreichende Berechtigungen zum Löschen von Rollenzuweisungen auf Systemebene. Verwenden Sie zum Entfernen eines Benutzers oder einer Benutzergruppe aus RDS_SSRS_ROLE dieselbe gespeicherte Prozedur, die Sie zum Erteilen der Rolle verwendet haben, verwenden Sie jedoch den SSRS_REVOKE_PORTAL_PERMISSION-Aufgabentyp.

So widerrufen Sie den Zugriff eines Domänenbenutzers für das Webportal

  • Verwenden Sie die folgende gespeicherte Prozedur.

    exec msdb.dbo.rds_msbi_task @task_type='SSRS_REVOKE_PORTAL_PERMISSION', @ssrs_group_or_username=N'AD_domain\user';

Dadurch wird der Benutzer aus der RDS_SSRS_ROLE-Systemrolle gelöscht. Außerdem wird der Benutzer aus der Content Manager-Rolle auf Elementebene gelöscht, wenn der Benutzer sie hat.

Überwachung des Status einer Aufgabe

Rufen Sie die rds_fn_task_status-Funktion auf, um den Status Ihrer Erteilungs- oder Widerrufsaufgabe zu verfolgen. Dazu sind zwei Parameter erforderlich. Der erste Parameter sollte immer NULL sein, da er sich nicht auf SSRS bezieht. Der zweite Parameter akzeptiert eine Aufgaben-ID.

Um eine Liste aller Aufgaben anzuzeigen, setzen Sie den ersten Parameter auf NULL und den zweiten Parameter auf 0, wie im folgenden Beispiel gezeigt.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

Um eine bestimmte Aufgabe zu erhalten, setzen Sie den ersten Parameter auf NULL und den zweiten Parameter auf die Aufgaben-ID, wie im folgenden Beispiel gezeigt,

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

Die rds_fn_task_status-Funktion gibt die folgenden Informationen zurück.

Ausgabeparameter

Beschreibung

task_id

Die ID der Aufgabe.

task_type

Für SSRS können Aufgaben die folgenden Aufgabentypen haben:

  • SSRS_GRANT_PORTAL_PERMISSION

  • SSRS_REVOKE_PORTAL_PERMISSION

database_name

Gilt nicht für SSRS-Aufgaben.

% complete

Verlauf der Aufgabe als Prozentwert.

duration (mins)

Zeitdauer für die Ausführung der Aufgabe (in Minuten).

lifecycle

Der Status der Aufgabe. Die folgenden Status sind möglich:

  • CREATED – Nach dem Aufruf einer der gespeicherten Prozeduren für SSRS wird eine Aufgabe erstellt, und der Status wird auf gesetzt CREATED.

  • IN_PROGRESS – Nach dem Start einer Aufgabe wird der Status auf gesetzt IN_PROGRESS. Es kann bis zu fünf Minuten dauern, bis sich der Status von CREATED zu IN_PROGRESS ändert.

  • SUCCESS – Nach dem Abschluss einer Aufgabe wird der Status auf gesetzt SUCCESS.

  • ERROR – Wenn eine Aufgabe fehlschlägt, wird der Status auf gesetzt ERROR. Weitere Informationen über den Fehler können Sie der Spalte task_info entnehmen.

  • CANCEL_REQUESTED – Nachdem Sie die gespeicherte Prozedur rds_cancel_task aufgerufen haben, wird der Status der Aufgabe auf CANCEL_REQUESTED gesetzt.

  • CANCELLED – Nachdem die Aufgabe abgebrochen wurde, wird der Status der Aufgabe auf gesetzt CANCELLED.

task_info

Zusätzliche Informationen über die Aufgabe. Wenn bei der Verarbeitung ein Fehler auftritt, enthält diese Spalte Informationen zu dem Fehler.

last_updated

Datum und Uhrzeit der letzten Aktualisierung des Aufgabenstatus.

created_at

Datum und Uhrzeit, an denen die Aufgabe angelegt wurde.

S3_object_arn

Gilt nicht für SSRS-Aufgaben.

overwrite_S3_backup_file

Gilt nicht für SSRS-Aufgaben.

KMS_master_key_arn

Gilt nicht für SSRS-Aufgaben.

filepath

Gilt nicht für SSRS-Aufgaben.

overwrite_file

Gilt nicht für SSRS-Aufgaben.

task_metadata

Metadaten, die der SSRS-Aufgabe zugeordnet sind.

Deaktivieren von SSRS

Um SSRS zu deaktivieren, entfernen Sie die Option SSRS aus der Optionsgruppe. Wenn Sie die Option entfernen, werden die SSRS-Datenbanken nicht gelöscht. Weitere Informationen finden Sie unter Löschen der SSRS-Datenbanken.

Sie können SSRS erneut aktivieren, indem Sie die Option SSRS wieder hinzufügen. Wenn Sie auch die SSRS-Datenbanken gelöscht haben, werden bei der erneuten Aktivierung von SSRS auf derselben DB-Instance neue Berichtsserverdatenbanken erstellt.

So entfernen Sie die SSRS-Option aus der Optionsgruppe

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Option groups (Optionsgruppen) aus.

  3. Wählen Sie die Optionsgruppe mit der Option SSRS (ssrs-se-2017 in den vorherigen Beispielen).

  4. Wählen Sie Delete option (Option löschen) aus.

  5. Wählen Sie unter Löschoptionen für Zu löschende Optionen die Option SSRS aus.

  6. Wählen Sie unter Apply immediately (Sofort anwenden) die Option Yes (Ja) aus, um die Option sofort zu löschen, oder No (Nein), um sie während des nächsten Wartungsfensters zu löschen.

  7. Wählen Sie Delete (Löschen).

So entfernen Sie die SSRS-Option aus der Optionsgruppe

  • Führen Sie einen der folgenden Befehle aus.

    Für Linux, macOS oder Unix:

    aws rds remove-option-from-option-group \ --option-group-name ssrs-se-2017 \ --options SSRS \ --apply-immediately

    Für Windows:

    aws rds remove-option-from-option-group ^ --option-group-name ssrs-se-2017 ^ --options SSRS ^ --apply-immediately

Löschen der SSRS-Datenbanken

Wenn Sie die SSRS-Option entfernen, werden die Berichtsserverdatenbanken nicht gelöscht. Verwenden Sie die folgende gespeicherte Prozedur, um sie zu löschen.

Um die Berichtsserverdatenbanken zu löschen, müssen Sie zuerst die SSRS-Option entfernen.

So löschen Sie die SSRS-Datenbanken

  • Verwenden Sie die folgende gespeicherte Prozedur.

    exec msdb.dbo.rds_drop_ssrs_databases