Condividi tramite


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 Business Intelligence Development Studio tramite 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 utilizzare il contesto corrente, ad esempio il database corrente, oppure un contesto consistente, 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 quindi aprire il file di report appropriato.

  • Fare clic con il pulsante destro del mouse su un nodo in Esplora oggetti, scegliere Report e quindi Report personalizzati e infine selezionare un report personalizzato nell'elenco degli ultimi file utilizzati.

Limitazioni

Quando si utilizzano report personalizzati, tenere presenti le limitazioni seguenti:

  • Per impedire l'esecuzione indesiderata di malware, 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 utilizzato dal servizio SQL Server necessitano dell'accesso in lettura alla cartella del file system contenente i file di report.

In un report è possibile incorporare qualsiasi comando .NET Framework valido, ma il comando non verrà eseguito.

Nota di attenzioneAttenzione

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.

Report di esempio

Alcuni report di esempio, inclusi i report standard creati da Microsoft, sono disponibili per il download e possono essere modificati tramite Business Intelligence Development Studio.