Log di traccia del servizio del server di report

Il log di traccia del server di report di Reporting Services è un file di testo ASCII che contiene informazioni dettagliate relative alle operazioni del servizio del server di report. Le informazioni nei file includono le operazioni eseguite dal servizio Web ReportServer, dal portale Web e dall'elaborazione in background. Nel file di log di traccia sono contenute inoltre informazioni ridondanti, che vengono registrate in altri file di log, e informazioni aggiuntive non disponibili altrove. Le informazioni del log di traccia sono utili se si esegue il debug di un'applicazione che include un server di report. Le informazioni sono utili anche se si sta esaminando un problema specifico scritto nel registro eventi o nel registro di esecuzione. ad esempio durante la risoluzione dei problemi relativi alle sottoscrizioni.

Dove si trovano i file di log del server di report?

I file di log di traccia sono ReportServerService_<timestamp>.log e Microsoft.ReportingServices.Portal.WebHost_<timestamp>.log e si trovano nella cartella seguente:

C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\LogFiles

I log di traccia vengono creati quotidianamente, a partire dalla prima voce registrata dopo la mezzanotte (ora locale) e tutte le volte in cui il servizio viene riavviato. Il timestamp si basa su l'ora UTC (Coordinated Universal Time). Il file è in formato en-US Per impostazione predefinita, i log di traccia possono occupare uno spazio massimo di 32 MB e vengono eliminati dopo 14 giorni.

Impostazioni di configurazione della traccia

Il comportamento del log di traccia viene gestito nel file di configurazione ReportingServicesService.exe.config. Il file di configurazione si trova nel seguente percorso:

\Program Files\Microsoft SQL Server\MSRS13.<instance name>\Reporting Services\ReportServer\bin.

L'esempio seguente illustra la struttura XML delle impostazioni di RStrace . Il valore di DefaultTraceSwitch determina il tipo di informazioni aggiunte al log. A eccezione dell'attributo Components , i valori per RStrace sono uguali in tutti i file di configurazione.

  \<system.diagnostics>
    <switches>
      <add name="DefaultTraceSwitch" value="3" />
    </switches>
  \</system.diagnostics>
  <RStrace>
    <add name="FileName" value="ReportServerService_" />
    <add name="FileSizeLimitMb" value="32" />
    <add name="KeepFilesForDays" value="14" />
    <add name="Prefix" value="appdomain, tid, time" />
    <add name="TraceListeners" value="file" />
    <add name="TraceFileMode" value="unique" />
    <add name="Components" value="all:3" />
  </RStrace>

Nella tabella seguente sono incluse informazioni su ogni impostazione.

Impostazione Descrizione Valori
RStrace Specifica gli spazi dei nomi utilizzati per errori e traccia.
DefaultTraceSwitch Specifica il livello delle informazioni da includere nel log di traccia ReportServerService. Ogni livello include anche le informazioni raccolte da tutti i livelli inferiori. Non è consigliabile disabilitare la funzionalità di traccia. I valori validi sono:



0= Disabilita la funzionalità di traccia. Per impostazione predefinita, il file di log è ReportServerService: Per disattivarlo, impostare il livello di traccia su 0.

1= Exceptions and restarts

2= Exceptions, restarts, warnings

3= Exceptions, restarts, warnings, status messages (predefinito)

4= Verbose mode
FileName Specifica la prima parte del nome del file di log. Il resto del nome viene completato con il valore specificato da Prefix .
FileSizeLimitMb Specifica il limite massimo per le dimensioni del log di traccia. Il file è misurato in megabyte.

È possibile controllare le dimensioni del file impostando i livelli di traccia da 0 a 4 per definire la quantità di contenuto registrata. È inoltre possibile specificare i componenti per la traccia. Se il valore massimo del file di log viene raggiunto prima della data di scadenza di 14 giorni, le voci meno recenti vengono sostituite con le voci più recenti.
I valori validi sono compresi tra 0 e il valore integer massimo. Il valore predefinito è 32. Se si specifica 0 o un numero negativo, il server di report lo considera come 1.
KeepFilesForDays Specifica dopo quanti giorni un file di log di traccia viene eliminato. I valori validi sono compresi tra 0 e il valore integer massimo. Il valore predefinito è 14. Se si specifica 0 o un numero negativo, il server di report lo considera come 1.
Prefix Specifica un valore generato che consente di distinguere ogni istanza del log dalle altre. Per impostazione predefinita, ai nomi file dei log di traccia vengono aggiunti valori timestamp. Questo valore è impostato su appdomain, tid, time. Non modificare questa impostazione.
TraceListeners Specifica una destinazione per l'output del contenuto del log di traccia. È possibile specificare più destinazioni, separandole con una virgola. I valori validi sono:



DebugWindow

File (predefinito)

StdOut
TraceFileMode Specifica se i log di traccia devono contenere dati per un periodo di 24 ore. È consigliabile utilizzare un solo log di traccia al giorno per ogni componente. Questo valore è impostato su Unique (default). Non modificare questo valore.
Categoria del componente Specifica i componenti per i quali vengono generate informazioni nel log di traccia e il livello di traccia nel formato seguente:

\<component category>:\<tracelevel>

È possibile specificare tutti i componenti o solo alcuni (all, RunningJobs, SemanticQueryEngine, SemanticModelGenerator). Se non si desidera generare informazioni per un componente specifico, è possibile disabilitare la traccia per tale componente (ad esempio "SemanticModelGenerator:0"). Non disabilitare la funzionalità di traccia per il componente all.

È possibile impostare "SemanticQueryEngine:4" se si desidera visualizzare le istruzioni Transact-SQL che vengono generate per ogni query semantica. Le istruzioni Transact-SQL vengono registrate nel log di traccia. Nell'esempio seguente viene illustrata l'impostazione di configurazione per l'aggiunta delle istruzioni Transact-SQL al log:

<add name="Components" value="all,SemanticQueryEngine:4" />
Le categorie dei componenti possono essere impostate nei modi seguenti:



Il valore All viene usato per tracciare l'attività generale del server di report per tutti i processi che non sono suddivisi in categorie specifiche.

Il valoreRunningJobs viene usato per tracciare un report o un'operazione di sottoscrizione in corso.

Il valore SemanticQueryEngine viene usato per tracciare una query semantica elaborata quando un utente esegue un'esplorazione dei dati non pianificati in un report basato su modello.

Il valoreSemanticModelGenerator viene usato per tracciare la generazione del modello.

Il valorehttp viene usato per abilitare il file di log HTTP del server di report. Per ulteriori informazioni, vedere Report Server HTTP Log.
Valoretracelevel per categorie di componenti <categoria componente>:<tracelevel>



Se non si aggiunge un livello di traccia dopo il nome del componente, verrà usato il valore specificato per DefaultTraceSwitch . Ad esempio, se si specifica all,RunningJobs,SemanticQueryEngine,SemanticModelGenerator, tutti i componenti usano il livello di traccia predefinito.
I valori validi del livello di traccia sono i seguenti:



0= Disables tracing

1= Exceptions and restarts

2= Exceptions, restarts, warnings

3= Exceptions, restarts, warnings, status messages (predefinito)

4= Verbose mode

Il valore predefinito per il server di report è: all:3.

Aggiunta di un'impostazione di configurazione personalizzata per specificare il percorso del file di dump

È possibile aggiungere un'impostazione personalizzata per definire la directory di archiviazione utilizzata dallo strumento Dr. per Windows per archiviare i file di dump. L'impostazione personalizzata è Directory. Nell'esempio seguente viene illustrato come specificare questa impostazione di configurazione nella sezione RStrace:

<add name="Directory" value="U:\logs\" />  

Per ulteriori informazioni, vedere l' articolo della Knowledge Base 913046 nel sito Web Microsoft.

Campi del file di log

Nei log di traccia sono disponibili i campi seguenti:

  • Informazioni sul sistema, quali il sistema operativo, la versione, il numero di processori e la memoria.

  • Informazioni sulla versione e sui componenti di Reporting Services.

  • Eventi registrati nel registro applicazioni.

  • Eccezioni generate dal server di report.

  • Avvisi di risorse insufficienti registrati da un server di report.

  • Buste SOAP in ingresso e buste SOAP in uscita riepilogate.

  • Informazioni sull'intestazione HTTP, sull'analisi dello stack e sulla traccia di debug.

Esaminando le informazioni dei log di traccia è possibile stabilire se ha avuto luogo un recapito di report, chi ha ricevuto il report e quanti tentativi di recapito sono stati eseguiti. Nei log di traccia vengono inoltre registrati l'attività di esecuzione del report e le variabili di ambiente attive durante l'elaborazione del report, nonché gli errori e le eccezioni. È possibile, ad esempio, trovare errori di timeout nel report, indicati dalla voce ThreadAbortExceptions.

Versioni precedenti

Nelle versioni precedenti di Reporting Services sono presenti più file di log di traccia, uno per ogni applicazione. I file seguenti sono obsoleti e non vengono più creati in SQL Server 2008 (10.0.x) e versioni successive:

+ ReportServerWebApp_\<timestamp>.log
+ ReportServer_\<timestamp>.log
+ ReportServerService_main_\<timestamp>.log

Altre domande? Visitare il forum su Reporting Services