C'è un modo semplice per tenere traccia di chi sta eseguendo un determinato report in SSRS 2005 ea che ora stanno eseguendo quel report? Abbiamo circa 80 segnalazioni nella nostra implementazione SSRS e stiamo cercando di capire se c'è qualcosa che possiamo tranquillamente mettere al pascolo. Se potessimo facilmente vedere in qualche modo quali rapporti non vengono usati, ciò ci aiuterebbe. Qualche idea?Utilizzo del report di tracciamento
risposta
È possibile monitorare l'utilizzo del report utilizzando i registri di esecuzione. Si prega di controllare questo http://technet.microsoft.com/en-us/library/aa964131(SQL.90).aspx
È inoltre possibile eseguire una query per trovare l'utilizzo del report. Controllare la risposta di Maz in questo link http://www.sqlservercentral.com/Forums/Topic433562-150-1.aspx
applausi
ho sempre trovato i registri di rapporto sono un po 'difficile da usare. Reporting Services mantiene un record di tutta la sua attività in una tabella nel database di report chiamato ExecutionLog
Ho un paio di rapporti io uso quella query questa tabella, in modo da poter scoprire quali rapporti sono effettivamente utilizzati, e chi gli utenti più pesanti sono
So che questa domanda è così vecchia che ha baffi, ma il codice seguente elencherà ogni rapporto una volta con l'ultima volta che è stato eseguito. Consiglio vivamente di creare una nuova cartella denominata "report obsoleti" e spostare i vecchi report anziché eliminarli. Ciò rimuoverà la confusione, ma li manterrà comunque disponibili nel caso in cui l'Ufficio contabilità venga dopo di te per quel rapporto che , ovviamente, deve essere eseguito una volta ogni 3.26 anni.
WITH RankedReports
AS
(SELECT ReportID,
TimeStart,
UserName,
RANK() OVER (PARTITION BY ReportID ORDER BY TimeStart DESC) AS iRank
FROM dbo.ExecutionLog t1
JOIN
dbo.Catalog t2
ON t1.ReportID = t2.ItemID
)
SELECT t2.Name AS ReportName,
t1.TimeStart,
t1.UserName,
t2.Path,
t1.ReportID
FROM RankedReports t1
JOIN
dbo.Catalog t2
ON t1.ReportID = t2.ItemID
WHERE t1.iRank = 1
ORDER BY t1.TimeStart;
Ho svalutato questo solo per il riferimento agli oscuri rapporti richiesti dal Dipartimento Contabilità ... troppe volte mi è stato dato meno di 24 ore di preavviso per riqualificare qualcosa di cui nessuno sa nulla! – Gallus
C'è qualche buon consiglio e le query per generare rapporti su questo nel seguente article.
Ad esempio, se si desidera vedere i rapporti più utilizzati, è possibile effettuare le seguenti operazioni:
SELECT COUNT(Name) AS ExecutionCount,
Name,
SUM(TimeDataRetrieval) AS TimeDataRetrievalSum,
SUM(TimeProcessing) AS TimeProcessingSum,
SUM(TimeRendering) AS TimeRenderingSum,
SUM(ByteCount) AS ByteCountSum,
SUM([RowCount]) AS RowCountSum
FROM (SELECT TimeStart,
Catalog.Type,
Catalog.Name,
TimeDataRetrieval,
TimeProcessing,
TimeRendering,
ByteCount,
[RowCount]
FROM Catalog
INNER JOIN
ExecutionLog
ON Catalog.ItemID = ExecutionLog.ReportID
WHERE Type = 2
) AS RE
GROUP BY Name
ORDER BY COUNT(Name) DESC,
Name;
Una cosa da notare è che di default il log di esecuzione manterrà solo 2 mesi vale la pena di dati. È possibile controllare questo comportamento con la proprietà server ExecutionLogDaysKept
, vedere this technet article.
Questa SQL vi darà anche l'origine dei dati, l'utente e il tipo di richiesta:
select row_number() over (order by LogEntryId) as Id, LogEntryId,
r.Name AS Report_Name, r.Path AS Report_Path, c2.Name AS Data_Source,
replace(c2.ConnectString,';Unicode=True','') as ConnectString,
SUBSTRING(r.Path, 2, LEN(r.Path) - LEN(r.Name) - 2) AS Folder_Path,
ex.UserName, ex.Format, ex.TimeProcessing, ex.TimeRendering, ex.[RowCount],
CAST (ex.TimeStart as date) AS TimeStart,
DATEPART (hour, ex.TimeStart) AS StartHour,
DATEPART (minute, ex.TimeStart) AS StartMinute,
case
when ex.RequestType = 0 then 'Interactive'
when ex.RequestType = 1 then 'Subscription'
when ex.RequestType = 2 then 'Refresh Cache'
else 'Unknown' end RequestType,
u.UserName as CreatedBy,
ex.Status
from ExecutionLogStorage ex (nolock) --exec log
join Catalog (nolock) r on ex.ReportID = r.ItemID and r.Type = 2 --report
join DataSource ds with (nolock) ON ds.ItemID = r.ItemID --report to connection link
join (select ItemID, Name, SUBSTRING(Content, CHARINDEX('<ConnectString>',Content) + 15, CHARINDEX('</ConnectString>',Content) - CHARINDEX('<ConnectString>',Content) - 15) AS ConnectString
from (select ItemID, Name, CONVERT(NVARCHAR(MAX),CONVERT(XML,CONVERT(VARBINARY(MAX),Content))) As Content
from Catalog with (nolock) where Type = 5) x
) c2 ON ds.Link = c2.ItemID -- connection
left join Users u on u.UserID = r.CreatedByID
- 1. Utilizzo di TDD per creare un report
- 2. Plug-in di tracciamento del tempo di Visual Studio
- 3. Tracciamento dell'uso del registro del kernel Cuda
- 4. Download completo del file di tracciamento
- 5. Utilizzo della memoria di tracciamento Xcode e Instruments
- 6. Monitoraggio del movimento e tracciamento del BLOB
- 7. Reporting Report Timeout report
- 8. JIRA - Disponibilità di risorse e tracciamento di utilizzo - su più progetti
- 9. Errori di tracciamento in Haskell
- 10. Utilizzo del servizio dati WCF REST come origine dati per servizi di report SQL
- 11. tracciamento del limite decisionale della regressione logistica
- 12. Netbeans - Tracciamento del tempo trascorso nel progetto
- 13. strumenti di tracciamento bug del server di team di fondazione
- 14. Dove si trova la finestra di dialogo Parametri del report
- 15. Algoritmo di tracciamento BLOB
- 16. Condivisione del set di dati tra report padre e sottoreport nei report Crystal 2008?
- 17. "Impossibile trovare l'URL del server di report specificato" errore durante la distribuzione sul server di report
- 18. Interfaccia utente danneggiata durante il tentativo di visualizzare report del servizio di report in un iframe
- 19. C#: Sistema di tracciamento GPS
- 20. Utilizzo dei parametri a discesa nel report SSRS
- 21. Errore report Crystal: Limite massimo di processi di elaborazione report
- 22. Utilizzo di Mercurial con tracciamento dell'elemento di lavoro simile a TFS
- 23. Determinazione dell'origine del cookie che javascript o pixel di tracciamento
- 24. Spostamento del mouse di tracciamento in QGraphicsScene classe
- 25. Disattivazione del tracciamento dell'email e-mail di transazione Mandrill
- 26. Tracciamento del codice di terze parti con Git
- 27. Git - Tracciamento di rami remoti
- 28. Un angolo oscuro del report Haskell
- 29. Problema di tracciamento con PyOpenGL
- 30. Report report caricamento Crystal non riuscito
Questo è utile per una facile e la luce di segnalazione, ma si sono limitati alla storia che i negozi del server (credo 3 mesi) e la sicurezza nel database del report è limitata solo a determinati utenti autorizzati. Ancora: è un primo passo facile che ti consentirà di iniziare. –