Você também pode fazer isso "no local" - sem obter todas as instruções de criação.
Além de definir
NOEXEC ON
, você também precisará definir seu SHOWPLAN_* ON
favorito (Eu uso SHOWPLAN_TEXT
). Agora você pode se livrar do seu passo 2 e apenas executar cada procedimento que você recuperou no passo 1. Aqui está uma amostra usando um procedimento armazenado individual. Você pode trabalhar em seu loop favorito:
create procedure tests @bob int as
select * from missing_table_or_view
go
set showplan_text on;
go
set noexec on
exec tests
set noexec off
go
set showplan_text off;
go
drop procedure tests
go
A amostra acima deve gerar a seguinte saída: