Report personalizzati in Management Studio
In SQL Server Management Studio molti nodi di Esplora oggetti contengono un set di report standard creati da Microsoft. In tali report viene fornito un riepilogo delle informazioni relative ai server generalmente necessarie. A partire da SQL Server 2005 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 di report con estensione rdl e vengono creati mediante il linguaggio RDL (Report Definition Language). Il linguaggio RDL contiene informazioni sul layout e il recupero dei dati per un report in formato XML RDL è uno schema aperto. Gli sviluppatori possono estendere RDL con attributi ed elementi aggiuntivi. Nei report può essere eseguita qualsiasi istruzione Transact-SQL valida.
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. Un report può pertanto usare il contesto corrente, ad esempio il database corrente, oppure un contesto coerente, ad esempio specificando un database designato all'interno 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 con il pulsante destro del mouse su un nodo in Esplora oggetti, scegliere Report e quindi fare clic su Report personalizzati. Nella finestra di dialogo Apri file individuare una cartella contenente file con estensione rdl e aprire il file di report appropriato.
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.
Limitazioni
Quando si utilizzano report personalizzati, tenere presenti le limitazioni seguenti:
Per impedire l'esecuzione indesiderata di codice dannoso, non è possibile configurare Management Studio per l'esecuzione automatica di un report anche se il file system è configurato per l'associazione dei file con estensione rdl a Management Studio. I report non possono essere eseguiti a livello di codice in Management Studio né dalla riga di comando tramite Management Studio.
È possibile eseguire report personalizzati in un contesto che non produce i valori previsti. È 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. 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 può influire sulle prestazioni del server.
I report personalizzati non supportano sottoreport.
Il testo del comando per ogni query all'interno del report non deve essere definito tramite un'espressione.
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.
Per i comandi dei report (query) sono supportati soltanto i tipi di comando Text e Stored Procedure.
Il framework del report non contiene alcun parametro di escape per le query. Gli autori delle query devono verificare che le query non siano soggette ad attacchi intrusivi nel codice SQL.
Gestione dei report personalizzati
In presenza di numerosi report personalizzati, è consigliabile organizzare tali report utilizzando cartelle del file system con autorizzazioni del file system NTFS appropriate.
Autorizzazioni
I report personalizzati vengono eseguiti utilizzando le autorizzazioni dell'utente corrente. 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.
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.
In un report è possibile incorporare qualsiasi comando .NET Framework valido, ma il comando non verrà eseguito.
Attenzione
In un report può essere incorporata ed eseguita qualsiasi istruzione Transact-SQL valida. L'esecuzione di un report con un account utente che dispone di privilegi elevati consente di eseguire tutte le istruzioni incorporate senza problemi.
Vedere anche
Aggiunta di un report personalizzato a Management Studio
Visualizzazione di avvisi relativi all'esecuzione di report personalizzati
Usare report personalizzati con proprietà dei nodi di Esplora oggetti