web-dev-qa-db-fra.com

Rechercher une chaîne en recherchant tous les proc stockés dans SQL Server Management Studio 2008

Existe-t-il un moyen de rechercher une chaîne dans tous les processus stockés dans SQL Server Management Studio?

43
dev.e.loper
SELECT *
FROM sys.sql_modules
WHERE definition LIKE '%yourstring%'
75
Lamak

Jetez un œil à Recherche SQL de RedGate . C'est un plugin Management Studio et un téléchargement gratuit. Vous pouvez rechercher dans une base de données donnée ou dans une instance entière.

22
squillman

J'utilise toujours cela;

SELECT Name
 FROM sys.procedures
 WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%SEARCHSTRING%'
16
Mike Mengell

Dans mon cas, je cherchais à obtenir le schéma et le nom de la procédure stockée chaque fois que je cherchais un texte ou un mot clé spécifique. Le code que j'utilise et qui fonctionne pour moi est:

USE [your_DB_name];
GO
SELECT [Scehma]=schema_name(o.schema_id), o.Name 
FROM sys.sql_modules m
 INNER JOIN sys.objects o
ON o.object_id = m.object_id
WHERE m.definition like '%your keyword%'
GO

Le résultat est simple et comme suit:

----------------------------------------------
|    Schema    |    Name                     |
----------------------------------------------
|    dbo       |  stored_procedure_name      |
----------------------------------------------
...
and so on (if the keyword exists in more than one stored procedure)
3
Ahmed Ali