Em vez de anexar o SQL PRofiler, use os procedimentos sp_trace_xxx
. A razão pela qual o SQL Profiler não é recomendado na produção é que ele pode fazer com que o servidor seja bloqueado ao aguardar a comunicação da rede com o Profiler para liberar ('network' pode significar memória compartilhada local, a localização não é relevante). A idéia é que um único processo gerenciado por GUI encadeado não será capaz de acompanhar um fluxo de eventos de velocidade máxima a partir de um servidor altamente otimizado nativo multiencadeado. Usando os procedimentos Trace, você está tirando a GUI / Profiler da equação e permite que o servidor libere os eventos tão rápido quanto eles podem ser gravados no disco no servidor, o que é sempre muito mais rápido do que como o Profiler seria capaz para processá-los. Se você adicionar um filtro decente nos eventos (por exemplo, apenas rastrear eventos RPC: Concluídos e Lote: Concluídos com duração superior a > 1 segundo ou algo semelhante), você não terá nenhum impacto sério no servidor.
O Profiler da GUI é capaz de salvar um rastreio como uma série de chamadas sp_trace para você, assim você não precisa criar manualmente o script.