Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

se voglio trovare cosa fa riferimento a un oggetto in SQL Server, la ricerca di syscomments è completa?

Non hai specificato quale versione di SQL Server stai usando. Presumo 2000, ma se sei nel 2005 o successivo dovresti esaminare sys.sql_modules vista catalogo e/o OBJECT_DEFINITION() funzione. Come esempio veloce:

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 + '%';

Inoltre potresti voler controllare il seguente thread StackOverflow sul nuovo strumento gratuito di ricerca SQL di RedGate e alcuni approcci alternativi:

https://stackoverflow. com/questions/2187763/what-other-products-are-similar-to-redgates-sql-search/

Se sei veramente bloccato nel 2000, questo articolo che ho scritto quasi 10 anni fa potrebbe essere ancora pertinente e utile (incluso l'adattamento al problema del blocco 4K menzionato da Matt):

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