Aqui está um pequeno script que listará todos os procedimentos armazenados do usuário (ou seja, aqueles que não vieram com o SQL Server ou não são procedimentos armazenados no sistema) em todos os bancos de dados da instância do servidor:
CREATE TABLE #ProcTable (
DbName sysname,
ProcName sysname
)
DECLARE @command1 NVARCHAR(1000)
SET @command1 = 'USE [?];INSERT #ProcTable
SELECT ''[?]'',Name
FROM sys.all_objects
WHERE TYPE=''p''
AND is_ms_shipped=0'
EXEC sp_msforeachdb @command1
SELECT * FROM #ProcTable
ORDER BY DbName,ProcName
DROP TABLE #ProcTable
Se você não estiver executando um rastreio que capturará o evento exec (e não terá um rastreio padrão em execução), será necessário ter um mecanismo de auditoria no nível do aplicativo para capturar a execução de procedimentos armazenados. Se você não tiver nenhum desses, você não poderá voltar no tempo para ver quando o processo foi executado.