2011-01-27 15 views

risposta

10

INFORMATION_SCHEMA.ROUTINES o syscomments sono non affidabile.

Il campo di testo è nvarchar (4000) per entrambi (solo su più file syscomments). Così il testo di ricerca può essere perso sul confine per syscomments o mai trovato per INFORMATION_SCHEMA.ROUTINES

sys.sql_modules.definition è di tipo nvarchar (max)

SELECT 
    OBJECT_NAME(object_id) 
FROM 
    sys.sql_modules 
WHERE 
    definition LIKE '%mytext%' 

Modifica, ottobre 2011

Portare questa risposta fino a Data.

Red Gate SQL Search è un libero SSMS plug-in che è abbastanza utile.

+1

+1 thx, ho imparato di nuovo qualcosa di nuovo. –

+0

+1 per scoraggiare l'uso di 'sys.syscomments'. [Questo] (https://visakhm.blogspot.in/2012/03/advantages-of-using-syssqlmodules-view.html) dettagli del blog un paio di motivi in ​​più sul motivo per cui dovremmo usare 'sys.sql_modules'. – RBT

2

Aggiornato: esistono diversi modi equivalenti. Eccone uno:

SELECT 
    OBJECT_NAME(object_id) 
FROM 
    sys.sql_modules 
WHERE 
    Definition LIKE '%searchtext%' 
    AND OBJECTPROPERTY(object_id, 'IsProcedure') = 1 
+0

-1 Questo non è equivalente a sys.sql_modules o OBJECT_DEFINITION perché non può funzionare ... il ROUTINE_DEFINITION non può avere il tempo di codice proc – gbn

+0

thx per la downvote.Updated –

+0

@Mitch Frumento: era * * sbagliato quando Ho postato: hai appena modificato per correggerlo. Hai giù votato la mia risposta * corretta * ... – gbn

1

È possibile utilizzare così:

select distinct object_name(id) from sys.syscomments where text like '%SearchTextHere%' 
+0

È meglio usare 'sys.sql_modules' se confrontato con' sys.syscomments' a causa di diversi motivi menzionati [qui] (https://visakhm.blogspot.in/2012/03/advantages -Di-utilizzando-syssqlmodules-view.html). 'sys.syscomments' interrompe la definizione di una stored procedure su più righe se la lunghezza del testo di definizione supera i 4000 caratteri. – RBT

0

Sei voler cercare del testo attraverso le stored procedure stesse?

Oppure dati tabella?

Se i dati tabella, che ne dite di LIKE?

Problemi correlati