[SQL Server] Chercher une procédure stockée dans toutes les BD sur un serveur lié
-- =============================================
-- Author: Zouhaier KHARROUBI
-- Create date: 04/01/2019
-- Description: Chercher une procédure stockée dans toutes les BD sur un serveur lié
-- =============================================
DECLARE @Requete NVARCHAR(MAX)
SELECT @Requete=N'
IF EXISTS(SELECT * FROM tempdb..sysobjects WHERE id = object_id(N''[tempdb]..[#Resultat]''))
BEGIN
DROP TABLE #Resultat
END
CREATE TABLE #Resultat
(
BaseDonnees VARCHAR(150) NULL
,ROUTINE_NAME VARCHAR(150) NULL
)
EXEC sp_MSForEachDB
''USE ?;
INSERT INTO #Resultat SELECT DB_NAME() AS BaseDonnees, ROUTINE_NAME
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE ''''%MaProcedure%''''
AND ROUTINE_TYPE = ''''PROCEDURE''''''
SELECT * FROM #Resultat
DROP TABLE #Resultat'
EXEC(@Requete) AT [MonServeurLie]