So come ottenere le ultime query eseguite utilizzando il seguente SQL in SSMS -Ultima eseguito query per un database specifico
SELECT deqs.last_execution_time AS [Time], dest.text AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC
Ma voglio trovare loro per un database specifico. Non voglio usare SQL Profiler, se non devo. Inoltre, non credo che SQL Profiler mi consentirà di visualizzare le query che sono state già eseguite senza la creazione di profili attivate. Ho bisogno di farlo da SSMS.
Non sarà sempre compilato, quindi è possibile che manchi qualcosa, ma come inizio è possibile filtrare su 'WHERE dest.dbid = DB_ID ('nome del database')'. Se vuoi tracciare il futuro, non usare * mai * Profiler a meno che tu non voglia che il tuo monitoraggio contribuisca effettivamente ai problemi di prestazioni. Utilizza una traccia lato server, eventi estesi o uno strumento di terze parti (ne conosco uno piuttosto buono). –
mentre si esegue, non ottiene alcuna riga. Ho pochi altri database. Niente mostra per nessuno di loro. Forse non è DB_ID ('nome del database') .. gli ID sono diversi? – Mukus
Quella query precedente è inutilizzabile nel determinare ciò che viene eseguito tutto perché non vedo nemmeno alcuni ID db dei database. Ho usato 'SELECT name, database_id FROM sys.databases;' – Mukus