Report personalizzati in Management Studio
si applica a:SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
In SQL Server Management Studio molti nodi esplora oggetti visualizzano un set di report standard creati da Microsoft. Questi report riepilogano in genere le informazioni sul server richieste. A partire da SQL Server 2005 (9.x) Service Pack 2, gli amministratori possono eseguire report personalizzati creati in SQL Server Data Tools (SSDT) da Management Studio.
Implementazione
I report personalizzati vengono archiviati come file di definizione del report (con estensione rdl) e vengono creati tramite RDL (Report Definition Language). RDL contiene informazioni sul recupero e sul layout dei dati per un report in formato XML. RDL è uno schema aperto. Gli sviluppatori possono estendere RDL con attributi ed elementi aggiuntivi. I report possono eseguire qualsiasi istruzione Transact-SQL valida all'interno del report.
Se Esplora oggetti è connesso a un server, i report personalizzati possono essere eseguiti nel contesto della selezione esplora oggetti corrente se i report fanno riferimento ai parametri del report di tale nodo. Ciò consente a un report di usare il contesto corrente, ad esempio il database corrente; o un contesto coerente, ad esempio specificando un database designato come parte dell'istruzione Transact-SQL contenuta nel report personalizzato.
Esecuzione di un report personalizzato
È possibile eseguire un report personalizzato in Management Studio nei modi seguenti:
Fare clic destro su un nodo in Esplora oggetti, scegliere Report e scegliere Report Personalizzati. Nella finestra di dialogo Apri file individuare una cartella contenente file con estensione rdl e quindi aprire il file di report appropriato.
Fare clic con il pulsante destro del mouse su un nodo in Esplora oggetti, scegliere Report, puntare a Report Personalizzati, e quindi selezionare un report personalizzato dall'elenco di file usati più di recente.
Limitazioni
Quando si lavora con report personalizzati, considerare le limitazioni seguenti:
Per evitare l'esecuzione imprevista di codice dannoso, Management Studio non può essere configurato per eseguire automaticamente un report, anche se il file system è configurato per associare i file con estensione rdl a Management Studio. I report non possono essere eseguiti a livello di codice in Management Studio e non possono essere eseguiti dalla riga di comando tramite Management Studio.
È possibile eseguire report personalizzati in un contesto che non produce i valori previsti. Ad esempio, è possibile eseguire un report sulla replica nel contesto di un database che non è coinvolto nella replica oppure eseguire un report come utente che non dispone dell'autorizzazione per accedere alle informazioni necessarie per generare un report accurato. L'autore del report personalizzato è responsabile della validità della struttura del report e del relativo contesto.
Non è possibile aggiungere un report personalizzato all'elenco dei report standard.
Il codice elaborato dal report potrebbe influire sulle prestazioni del server.
I report personalizzati non supporteranno i sottoreport.
Il testo del comando per ogni query all'interno del report non deve essere definito tramite un'espressione.
Qualsiasi parametro di query usato in un comando (query) può fare riferimento solo a un singolo parametro del report e non può usare operatori di espressione.
Solo i tipi di comando Text e Stored procedure sono supportati per i comandi del report (query).
Il framework di report non fornisce alcuna escape dei parametri per le query. Gli autori di query devono assicurarsi che le query siano libere dagli attacchi SQL injection.
Gestione di report personalizzati
È consigliabile che gli utenti che dispongono di molti report personalizzati li organizzano usando cartelle di file system che dispongono delle autorizzazioni appropriate per il file system NTFS.
Autorizzazioni
I report personalizzati vengono eseguiti usando le autorizzazioni dell'utente corrente. Per impedire a un utente malintenzionato di modificare le query eseguite dal report, le autorizzazioni per la cartella del file system che contiene i file di report devono essere impostate per limitare l'accesso.
Sia l'utente che l'account usato dal servizio SQL Server richiedono l'accesso in lettura alla cartella del file system che contiene i file di report.
Qualsiasi comando valido di .NET Framework può essere incorporato in un report, ma il comando non verrà eseguito.
Cautela
Qualsiasi istruzione Transact-SQL valida può essere incorporata ed eseguita da un report. L'esecuzione di un report con un account utente con privilegi elevati consente l'esecuzione di una di queste istruzioni incorporate senza problemi.
Vedere anche
Aggiungere un report personalizzato a Management Studio
annullare l'esecuzione di avvisi di report personalizzati
Usare i Report Personalizzati con le Proprietà dei Nodi di Esplora Oggetti