Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

si je veux trouver ce qui fait référence à un objet dans SQL Server, la recherche de syscomments est-elle complète ?

Vous n'avez pas spécifié la version de SQL Server que vous utilisez. Je suppose 2000 mais si vous êtes sur 2005 ou plus tard, vous devriez regarder dans le sys.sql_modules vue catalogue et/ou OBJECT_DEFINITION() fonction. Comme exemple rapide :

SELECT SCHEMA_NAME(schema_id) +'.'+ name
FROM sys.objects
WHERE OBJECT_DEFINITION(object_id) LIKE '%' + @Search + '%';

-- or

SELECT OBJECT_SCHEMA_NAME(object_id) +'.'+ OBJECT_NAME(object_id)
FROM sys.sql_modules
WHERE [definition] LIKE '%' + @Search + '%';

Vous pouvez également consulter le fil de discussion StackOverflow suivant sur le nouvel outil de recherche SQL gratuit de RedGate et sur certaines approches alternatives :

https://stackoverflow. com/questions/2187763/quels-autres-produits-sont-similaires-à-redgates-sql-search/

Si vous êtes vraiment bloqué sur 2000, cet article que j'ai écrit il y a près de 10 ans peut toujours être pertinent et utile (y compris en tenant compte du problème de bloc 4K mentionné par Matt) :

http://databases .aspfaq.com/database/how-do-i-find-a-stored-procedure-containing-text.html