Buscador de Procedimientos SQL
Posted: domingo, 24 de febrero de 2013 by Adrian in Etiquetas: SQL, TransactComo 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.