Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Sintaxe verificar todos os procedimentos armazenados?


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: