Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL Server Management Studio - find stored procedure by name over multiple databases

I have recently joined a software project that has approximately 20-40 databases.

Each database has at least 200 stored procedures, some of them have many more, so it is very slow for me to search for a particular procedure manually.

I know that there is a stored procedure which I need to look at to fix a bug, somewhere in the entire project, it is called XYZ_procedure

How do I search for this procedure over all of my databases in SQL Server Management Studio?

like image 831
Barney Chambers Avatar asked Oct 16 '25 03:10

Barney Chambers


2 Answers

If you need to find database objects (e.g. tables, columns, triggers) by name - have a look at the FREE Red-Gate tool called SQL Search which does this - it searches your entire database for any kind of string(s).

enter image description here

enter image description here

It's a great must-have tool for any DBA or database developer - did I already mention it's absolutely FREE to use for any kind of use??

like image 77
marc_s Avatar answered Oct 17 '25 18:10

marc_s


You can use dynamic SQL to check procedure over all of databases in 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<=@END
     BEGIN
         DECLARE @string NVARCHAR(MAX)
         SELECT @Database=NAME FROM #TT WHERE Db_ID=@strt

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

          SET @strt=@strt+1
          PRINT @string
          EXEC(@string)
     END

ROLLBACK TRAN
like image 34
Alfaiz Ahmed Avatar answered Oct 17 '25 18:10

Alfaiz Ahmed



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!