Buscador de Procedimientos SQL

Posted: domingo, 24 de febrero de 2013 by Adrian in Etiquetas: ,
0

Como profesional en informática trabajando principalmente en SQL Server desde la versión 7 hasta el momento con SQL Server 2008 R3,  hace algunos años me encontré con el escenario de poder identificar cuales procedimientos se veían afectados por un cambio en una tabla. 

Esta problemática me llevó a crear un pequeño procedimiento almacenado que retorna todos los procedimientos y vistas donde una porción especifica de texto es utilizada. 

Desde entonces y hasta ahora, cada vez que inicio en un nuevo ambiente, servidor, instancia de SQL, entre las tareas iniciales está crear éste procedimiento que espero les sea de utilidad tanto como lo ha sido para mi.


CREATE PROCEDURE dbo.BuscaSP  
  @texto varchar(100)  
AS  
BEGIN  
Declare @cmd varchar(1000)  
  
Set @cmd = 'Select '+'''Exec Sp_HelpText  '''+' + name from sysobjects where id IN  
  (select Id from syscomments   
                  where text like '+'''%'+@texto+'%'')'  
  
exec(@cmd)  
END



Forma de utilizarlo

Supongamos que necesitamos saber cuales procedimientos utilizan la tabla  customer en la base de datos AdventureWorks.

corremos el procedimiento  exec buscasp 'customer'  y nos devuelve los procedimientos que contienen en su script el texto  'customer',  de tal forma que podemos ejecutar la sentencia que nos devuelve para ver el script completo.






0 comentarios: