Report personalizzati in Management StudioCustom Reports in Management Studio

In SQL Server Management StudioSQL Server Management Studiomolti nodi di Esplora oggetti contengono un set di report standard creati da MicrosoftMicrosoft.In SQL Server Management StudioSQL Server Management Studio, many Object Explorer nodes display a set of standard reports that are created by MicrosoftMicrosoft. In tali report viene fornito un riepilogo delle informazioni relative ai server generalmente necessarie.These reports summarize typically requested server information. A partire da SQL Server 2005SQL Server 2005 Service Pack 2, gli amministratori possono eseguire report personalizzati creati in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT) tramite Management StudioManagement Studio.Starting with SQL Server 2005SQL Server 2005 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.

ImplementazioneImplementation

I report personalizzati vengono archiviati come file di definizione di report con estensione rdl e vengono creati mediante il linguaggio RDL (Report Definition Language).Custom reports are stored as report definition (.rdl) files and are created by using Report Definition Language (RDL). Il linguaggio RDL contiene informazioni sul layout e il recupero dei dati per un report in formato XMLRDL contains data retrieval and layout information for a report in an XML format. RDL è uno schema aperto.RDL is an open schema. Gli sviluppatori possono estendere RDL con attributi ed elementi aggiuntivi.Developers can extend RDL with additional attributes and elements. Nei report può essere eseguita qualsiasi istruzione Transact-SQLTransact-SQL valida.Reports can execute any valid Transact-SQLTransact-SQL statement within the report.

Se Esplora oggetti è connesso a un server, i report personalizzati possono essere eseguiti nel contesto della selezione corrente di Esplora oggetti, a condizione che facciano riferimento ai parametri di report di tale nodo.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. Un report può pertanto utilizzare il contesto corrente, ad esempio il database corrente, oppure un contesto consistente, ad esempio specificando un database designato all'interno dell'istruzione Transact-SQLTransact-SQL contenuta nel report personalizzato.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.

Esecuzione di un report personalizzatoRunning a Custom Report

È possibile eseguire un report personalizzato in Management StudioManagement Studio nei modi seguenti:You can run a custom report in Management StudioManagement Studio in the following ways:

  • Fare clic con il pulsante destro del mouse su un nodo in Esplora oggetti, scegliere Report e quindi fare clic su Report personalizzati.Right-click a node in Object Explorer, point to Reports and left-click Custom Reports. Nella finestra di dialogo Apri file individuare una cartella contenente file con estensione rdl e aprire il file di report appropriato.In the Open File dialog box, locate a folder that contains .rdl files, and then open the appropriate report file.

  • Fare clic con il pulsante destro del mouse su un nodo in Esplora oggetti, scegliere Report, Report personalizzatie infine selezionare un report personalizzato nell'elenco degli ultimi file usati.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.

LimitazioniLimitations

Quando si utilizzano report personalizzati, tenere presenti le limitazioni seguenti:When you work with custom reports, consider the following limitations:

  • Per impedire l'esecuzione indesiderata di malware, non è possibile configurare Management StudioManagement Studio per l'esecuzione automatica di un report anche se il file system è configurato per l'associazione dei file con estensione rdl a Management StudioManagement Studio.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. I report non possono essere eseguiti a livello di codice in Management StudioManagement Studio né dalla riga di comando tramite Management StudioManagement Studio.Reports cannot be programmatically executed in Management StudioManagement Studio and cannot run from the command line through Management StudioManagement Studio.

  • È possibile eseguire report personalizzati in un contesto che non produce i valori previsti.You can run custom reports in a context that does not produce the expected values. È possibile, ad esempio, eseguire un report relativo alla replica nel contesto di un database non interessato dalla replica oppure eseguire un report utilizzando un account utente che non dispone dell'autorizzazione per accedere alle informazioni necessarie per generare un report accurato.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. L'autore del report personalizzato è responsabile della validità della struttura del report e del relativo contesto.The creator of the custom report is responsible for the validity of the report structure and its context.

  • Non è possibile aggiungere un report personalizzato all'elenco dei report standard.You cannot add a custom report to the list of standard reports.

  • Il codice elaborato dal report può influire sulle prestazioni del server.The code processed by the report might affect server performance.

  • I report personalizzati non supportano sottoreport.Custom reports will not support subreports.

  • Il testo del comando per ogni query all'interno del report non deve essere definito tramite un'espressione.The command text for each query within the report must not be defined through an expression.

  • Qualsiasi parametro di query utilizzato in un comando (query) può fare riferimento soltanto a un singolo parametro di report e non può utilizzare operatori di espressione.Any query parameter that is used in a command (query) can only reference a single report parameter and cannot use any expression operators.

  • Per i comandi dei report (query) sono supportati soltanto i tipi di comando Text e Stored Procedure.Only Text and Stored Procedure command types are supported for report commands (queries).

  • Il framework del report non contiene alcun parametro di escape per le query.The report framework does not provide any parameter escaping for the queries. Gli autori delle query devono verificare che le query non siano soggette ad attacchi intrusivi nel codice SQL.Query authors must make sure that their queries are free from SQL injection attacks.

Gestione dei report personalizzatiManaging Custom Reports

In presenza di numerosi report personalizzati, è consigliabile organizzare tali report utilizzando cartelle del file system con autorizzazioni del file system NTFS appropriate.We recommend that users who have many custom reports organize them by using file system folders that have appropriate NTFS file system permissions.

PermissionsPermissions

I report personalizzati vengono eseguiti utilizzando le autorizzazioni dell'utente corrente.Custom reports run by using the permissions of the current user. Per impedire che le query eseguite dal report vengano modificate da utenti malintenzionati, è consigliabile impostare le autorizzazioni per la cartella del file system contenente i file di report in modo da limitare l'accesso.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.

Sia l'utente che l'account utilizzato dal servizio SQL ServerSQL Server necessitano dell'accesso in lettura alla cartella del file system contenente i file di report.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.

In un report è possibile incorporare qualsiasi comando .NET Framework.NET Framework valido, ma il comando non verrà eseguito.Any valid .NET Framework.NET Framework command can be embedded in a report, but the command will not be executed.

Attenzione

In un report può essere incorporata ed eseguita qualsiasi istruzione Transact-SQLTransact-SQL valida.Any valid Transact-SQLTransact-SQL statement can be embedded in and executed from a report. L'esecuzione di un report con un account utente che dispone di privilegi elevati consente di eseguire tutte le istruzioni incorporate senza problemi.Running a report under a high-privileged user account makes it possible for any of these embedded instructions to execute without challenge.

Vedere ancheSee Also

Aggiunta di un report personalizzato a Management StudioAdd a Custom Report to Management Studio
Visualizzazione di avvisi relativi all'esecuzione di report personalizzatiUnsuppress Run Custom Report Warnings
Utilizzo di report personalizzati con proprietà dei nodi di Esplora oggettiUse Custom Reports with Object Explorer Node Properties