SSMS
 sql >> Base de données >  >> Database Tools >> SSMS

SQL Server Management Studio - rechercher une procédure stockée par nom sur plusieurs bases de données

Vous pouvez utiliser SQL dynamique pour vérifier la procédure sur toutes les bases de données dans SQL Server Management Studio

USE MASTER
GO
BEGIN TRAN

DECLARE @strt INT,@End INT,@Database NVARCHAR(50)

SELECT * INTO #T FROM Sys.databases WITH(NOLOCK) WHERE database_id>4 
ORDER BY 1

SELECT ROW_NUMBER ()OVER (ORDER BY database_Id)Db_Id,* INTO #TT FROM #T
SET @strt=1
SELECT @End=Max(Db_ID)FROM #tt

WHILE @strt<example@sqldat.com
     BEGIN
         DECLARE @string NVARCHAR(MAX)
         SELECT @Database=NAME FROM #TT WHERE example@sqldat.com

        Set @string='  Select '''example@sqldat.com+'''db_Name,* from 'example@sqldat.com+'.sys.objects 
          WHERE Name=''XYZ_procedure'''

          SET @example@sqldat.com+1
          PRINT @string
          EXEC(@string)
     END

ROLLBACK TRAN