Sto utilizzando SSRS 08. La mia query ha quattro parametri (tutti i varchar). Posso eseguire la query attraverso lo studio di gestione e funziona in meno di 10 secondi. Ottengo le stesse prestazioni se eseguo la query in Progettazione query di Visual Studio.La query viene eseguita rapidamente ma i rendering del report sono lenti: come eseguire il debug di questo?
Tuttavia ... se cerco di visualizzare l'anteprima del report o di eseguire effettivamente il report dopo che è stato distribuito, il report effettivo richiede talvolta più di 5 minuti. Ho eseguito una traccia e la query sembra essere in/out del lato server SQL rapidamente. Come posso trovare dove/perché sto perdendo questa performance? Ho provato/controllato finora la seguente:
- Nessuna immagine viene fatto riferimento nel rapporto
- No raggruppamento/ordinamento al di fuori della stored procedure
- Dal momento che è un rapporto di dritto in avanti ho ricostruito con lo stesso risultato (per verificare se non si tratta di un problema di un rapporto danneggiato).
- corse traccia SQL quando ho eseguito il report per assicurarsi che la query non ha avuto problemi
Sulla base di alcuni suggerimenti prima ho riscritto la query per utilizzare le variabili invece di parametri in questo modo
-- ...
-- Note: @Parameter is a varchar(40)
-- ...
declare @Var as varchar(40)
set @[email protected]
select * from table where [email protected]
Ho eseguito la traccia e non è un problema sul lato query.
È possibile eseguire la query di seguito per scoprire dove si trova il sovraccarico: SELECT Nome, TimeDataRetrieval, TimeProcessing, TimeRendering \t, TimeDataRetrieval + TimeProcessing + TimeRendering AS TotalTime, Formato, Parametri, nome utente, timeStart DA dbo .ExecutionLog L WITH (NOLOCK) \t INNER JOIN dbo.Catalog R WITH (NOLOCK) ON L.ReportID = R.ItemID WHERE Name = '' - aggiorna i parametri per il nome del report AND Format> '' ORDER BY Nome I tempi sono per il recupero dei dati delle query, l'elaborazione dei report e il rendering. Se tutte le misure sono normali, il problema è da qualche altra parte, non la segnalazione di servizi – niktrs