Habitualmente me surge la necesidad, de comparar los
procedimientos existentes en varios entornos de una misma base de datos. Hemos subido a producción ese
procedimiento? como puede ser que el mismo
procedimiento en dos entornos diferentes produzca error ?.
A todos esto
encontré solución con el TOAD para
SQL SERVER, esta aplicación incorpora una utilidad "
schema compare". Hasta
aquí genial... salvo el momento de migrar a 2008
ups la versión que tengo de TOAD no me vale, como lo soluciono? compro una nueva versión?
La verdad es que siempre he sido partidario de tener mis propias utilidades (es lo que tiene ser programador ;) ),
así que necesitaba obtener de alguna forma el
código tsql de los
procedimientos almacenados en mi
bdd, para compararlos con los del otro entorno. De esta necesidad he encontrado la siguiente consulta :
SELECT *
FROM sys.
sql_modules
JOIN sys.
objects ON sys.sql_modules.object_id = sys.objects.object_id
AND TYPE = 'P';


El resultado incluye todas las propiedades necesarias para realizar esta validación. El código incluido, el nombre, la fecha de alta, la de última
modificación etc etc...
Francamente muy
útil.