Benutzerdefinierte Berichte in Management StudioCustom Reports in Management Studio

GILT FÜR: jaSQL Server jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

In SQL Server Management StudioSQL Server Management Studio wird von vielen Objekt-Explorer-Knoten ein Satz von Standardberichten angezeigt, die von MicrosoftMicrosoft erstellt werden.In SQL Server Management StudioSQL Server Management Studio, many Object Explorer nodes display a set of standard reports that are created by MicrosoftMicrosoft. In diesen Berichten werden häufig angeforderte Serverinformationen zusammengefasst.These reports summarize typically requested server information. Seit SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2 können in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT) von Management StudioManagement Studioerstellte benutzerdefinierte Berichte von Administratoren ausgeführt werden.Starting with SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2, administrators can run custom reports that were created in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT) from Management StudioManagement Studio.

ImplementierungImplementation

Benutzerdefinierte Berichte werden als RDL-Dateien gespeichert und mithilfe der Berichtsdefinitionssprache (Report Definition Language, RDL) erstellt.Custom reports are stored as report definition (.rdl) files and are created by using Report Definition Language (RDL). In der Berichtsdefinitionssprache sind Informationen zum Datenabruf und Datenlayout für einen Bericht in einem XML-Format enthalten.RDL contains data retrieval and layout information for a report in an XML format. Die Berichtsdefinitionssprache ist ein offenes Schema.RDL is an open schema. Entwickler können die Berichtsdefinitionssprache mit zusätzlichen Attributen und Elementen erweitern.Developers can extend RDL with additional attributes and elements. Jede gültige Transact-SQLTransact-SQL -Anweisung in einem Bericht kann von Berichten ausgeführt wird.Reports can execute any valid Transact-SQLTransact-SQL statement within the report.

Wurde für den Objekt-Explorer eine Verbindung mit einem Server hergestellt, können benutzerdefinierte Berichte im Kontext der aktuellen Objekt-Explorer-Auswahl ausgeführt werden, wenn von den Berichten auf Berichtsparameter dieses Knotens verwiesen wird.If Object Explorer is connected to a server, custom reports can execute in the context of the current Object Explorer selection if the reports reference report parameters of that node. Dadurch wird ermöglicht, dass im Bericht der aktuelle Kontext (beispielsweise die aktuelle Datenbank) oder ein konsistenter Kontext (beispielsweise die Angabe einer designierten Datenbank als Teil der im benutzerdefinierten Bericht enthaltenen Transact-SQLTransact-SQL -Anweisung) verwendet wird.This enables a report to use the current context, such as the current database; or a consistent context, such as specifying a designated database as part of the Transact-SQLTransact-SQL statement that is contained in the custom report.

Ausführen eines benutzerdefinierten BerichtsRunning a Custom Report

Es gibt folgenden Möglichkeiten zum Ausführen eines benutzerdefinierten Berichts in Management StudioManagement Studio :You can run a custom report in Management StudioManagement Studio in the following ways:

  • Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Knoten, zeigen Sie auf Berichte , und klicken Sie mit der linken Maustaste auf Benutzerdefinierte Berichte.Right-click a node in Object Explorer, point to Reports and left-click Custom Reports. Suchen Sie im Dialogfeld Datei öffnen einen Ordner mit RDL-Dateien, und öffnen Sie dann die entsprechende Berichtsdatei.In the Open File dialog box, locate a folder that contains .rdl files, and then open the appropriate report file.

  • Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Knoten, zeigen Sie auf Berichte, zeigen Sie auf Benutzerdefinierte Berichte, und wählen Sie dann aus der Liste der zuletzt geöffneten Dateien einen benutzerdefinierten Bericht aus.Right-click a node in Object Explorer, point to Reports, point to Custom Reports, and then select a custom report from the most recently used file list.

EinschränkungenLimitations

Berücksichtigen Sie bei der Verwendung benutzerdefinierter Berichte die folgenden Einschränkungen:When you work with custom reports, consider the following limitations:

  • Um die unbeabsichtigte Ausführung von bösartigem Code zu verhindern, kann Management StudioManagement Studio auch dann nicht für das automatische Ausführen eines Berichts konfiguriert werden, wenn das Dateisystem so konfiguriert ist, dass RDL-Dateien Management StudioManagement Studiozugeordnet werden.To prevent the unintended execution of malicious code, Management StudioManagement Studio cannot be configured to automatically run a report, even if the file system is configured to associate .rdl files with Management StudioManagement Studio. In Management StudioManagement Studio können Berichte weder programmgesteuert noch an der Eingabeaufforderung über Management StudioManagement Studioausgeführt werden.Reports cannot be programmatically executed in Management StudioManagement Studio and cannot run from the command line through Management StudioManagement Studio.

  • Benutzerdefinierte Berichte können in einem Kontext ausgeführt werden, in dem die erwarteten Werte nicht erstellt werden.You can run custom reports in a context that does not produce the expected values. Sie können beispielsweise einen Bericht über die Replikation im Kontext einer Datenbank ausführen, die nicht in der Replikation involviert ist, oder Sie können einen Bericht als ein Benutzer ausführen, der nicht über die Berechtigung für den Zugriff auf Informationen verfügt, die zum Generieren eines präzisen Berichts erforderlich sind.For example, you can run a report about replication in the context of a database that is not involved in replication, or run a report as a user who does not have permission to access information that is required to generate an accurate report. Der Ersteller des benutzerdefinierten Berichts ist für die Gültigkeit der Berichtsstruktur und seines Kontexts verantwortlich.The creator of the custom report is responsible for the validity of the report structure and its context.

  • Sie können der Liste der Standardberichte keinen benutzerdefinierten Bericht hinzufügen.You cannot add a custom report to the list of standard reports.

  • Der vom Bericht verarbeitete Code kann möglicherweise Auswirkungen auf die Serverleistung haben.The code processed by the report might affect server performance.

  • Unterberichte werden von benutzerdefinierten Berichten nicht unterstützt.Custom reports will not support subreports.

  • Der Befehlstext für die einzelnen Abfragen im Bericht darf nicht über einen Ausdruck definiert sein.The command text for each query within the report must not be defined through an expression.

  • Mit jedem in einem Befehl (Abfrage) verwendeten Abfrageparameter kann nur auf einen einzelnen Berichtsparameter verwiesen werden. Ausdrucksoperatoren können nicht verwendet werden.Any query parameter that is used in a command (query) can only reference a single report parameter and cannot use any expression operators.

  • Für Berichtsbefehle (Abfragen) werden nur Befehle vom Typ Text und gespeicherte Prozedur unterstützt.Only Text and Stored Procedure command types are supported for report commands (queries).

  • Das Berichtsframework bietet keine Parameter zum Erstellen von Escapezeichen für die Abfragen.The report framework does not provide any parameter escaping for the queries. Abfrageautoren müssen sicherstellen, dass ihre Abfragen frei von SQL Injection-Angriffen sind.Query authors must make sure that their queries are free from SQL injection attacks.

Verwalten von benutzerdefinierten BerichtenManaging Custom Reports

Für Benutzer, die über eine Vielzahl benutzerdefinierter Berichte verfügen, empfiehlt es sich, diese mithilfe der Dateisystemordner zu organisieren, die über entsprechende NTFS-Dateisystemberechtigungen verfügen.We recommend that users who have many custom reports organize them by using file system folders that have appropriate NTFS file system permissions.

BerechtigungenPermissions

Benutzerdefinierte Berichte werden mithilfe der Berechtigungen des aktuellen Benutzers ausgeführt.Custom reports run by using the permissions of the current user. Berechtigungen für den Dateisystemordner mit den Berichtsdateien müssen so festgelegt werden, dass der Zugriff eingeschränkt wird, um das Ändern der vom Bericht ausgeführten Abfragen durch einen böswilligen Benutzer zu verhindern.To prevent a malicious user from changing the queries run by the report, permissions on the file system folder that contains the report files should be set to restrict access.

Sowohl für den Benutzer als auch für das vom SQL ServerSQL Server -Dienst verwendete Konto ist Lesezugriff auf den Dateisystemordner mit den Berichtsdateien erforderlich.Both the user and the account that is used by the SQL ServerSQL Server service require read access to the file system folder that contains the report files.

Jeder gültige .NET Framework.NET Framework -Befehl kann in einen Bericht eingebettet werden, der Befehl wird jedoch nicht ausgeführt.Any valid .NET Framework.NET Framework command can be embedded in a report, but the command will not be executed.

Achtung

Jede gültige Transact-SQLTransact-SQL -Anweisung kann in einem Bericht eingebettet und von einem Bericht aus ausgeführt werden.Any valid Transact-SQLTransact-SQL statement can be embedded in and executed from a report. Durch das Ausführen eines Berichts unter einem Benutzerkonto mit hohen Privilegien wird die problemlose Ausführung dieser eingebetteten Anweisungen ermöglicht.Running a report under a high-privileged user account makes it possible for any of these embedded instructions to execute without challenge.

Weitere InformationenSee Also

Hinzufügen eines benutzerdefinierten Berichts zu Management StudioAdd a Custom Report to Management Studio
Aufheben der Unterdrückung von Warnungen für das Ausführen von benutzerdefinierten BerichtenUnsuppress Run Custom Report Warnings
Verwenden benutzerdefinierter Berichte mit Eigenschaften von Objekt-Explorer-KnotenUse Custom Reports with Object Explorer Node Properties