In realtà non esiste alcun modo per trovare queste informazioni. Quando si crea un report per MSCRM, si utilizza un connettore denominato "MSCRM Data Connector". Questo può essere visto nella colonna AdditionnalInfo della vista ExecutionLogs3 sull'istanza di SSRS. Quando si utilizza questo connettore e si tenta di mostrare un report, verrà richiesto nome utente e password. Ecco dove le cose si fanno interessanti.
Il rapporto non è in realtà in attesa di un nome utente/password! In effetti, si aspetta di ricevere il systemuserid (guid) come username e l'organizationid (guid) come password. Quindi cerca nel database MSCRM_CONFIG per le impostazioni del database dell'organizzazione. Quindi, entra nel database dell'organizzazione e fa semplicemente un set context_info SYSTEMUSERID
. Infine, le immagini filtrate chiamano una funzione chiamata '[dbo]. [Fn_FindUserGuid]' che recupera context_info. Questo è il modo in cui le viste filtrate funzionano correttamente, mentre è connesso come account di servizio.
Come ci si potrebbe aspettare, non possiamo conoscere l'utente che ha eseguito il rapporto perché il nome utente e la password richiesti in SSRS non vengono mai registrati ovunque (per questioni di sicurezza, forse).
L'opzione migliore che ho trovato per registrare chi ha eseguito un report è in realtà creare una stored procedure che effettuerà un'istruzione select sulle viste filtrate (o su qualsiasi tabella, così com'è) e quindi effettuerà il log in una tabella separata la dichiarazione, i parametri della procedura e context_info(). Quindi, in SSRS, richiamo quella funzione invece di andare direttamente alle viste filtrate.
fonte
2012-04-27 13:47:52
La domanda riguardava l'utilizzo di SQL Source. Come indicato nella domanda, so che viene registrato quando si utilizza FetchXML. –
Sì, sei corretto, ho modificato la risposta per includere il recupero del nome utente se è stata utilizzata l'origine sql. –
La tua risposta (utilizzando User! UserID) mostrerà il nome utente nel report, ma non verrà memorizzato nei log di esecuzione. La mia domanda originariamente chiedeva come recuperare tali informazioni nel registro di esecuzione. Grazie però per il tempo investito. –