2010-12-20 4 views
3

Ich modifizierte eine Prozedur, und es dauert jetzt eine größere Anzahl von Parametern. Wie kann ich jeden Ort finden, an dem die Prozedur aufgerufen wird, damit ich die Anzahl der Argumente aktualisieren kann, die der Proc übergeben wird?So finden Sie alle Instanzen einer Prozedur (oder Funktion) in SQL Server 2005/2008

Ich versuchte dies:

select * from syscomments where text like '%MODIFIED-PROCEDURE-NAME%' 

aber ich finde immer noch an anderen Orten der proc, dass diese Abfrage kehrten nicht zurück genannt wird.

+0

Das Problem bei der Verwendung von syscomments ist, dass die Textspalte nvarchar (4000) ist und Sie Probleme beim Abschneiden erhalten, wenn der Text zwischen mehreren Zeilen aufgeteilt wird. @ KM's Antwort ist der bessere Weg. –

+0

mögliches Duplikat von [Alle Referenzen zur Ansicht finden] (http://stackoverflow.com/questions/1506082/find-all-references-to-view) –

Antwort

8

Verwendung sys.sql_modules:

SELECT 
    OBJECT_SCHEMA_NAME(m.object_id) + '.' + OBJECT_NAME(m.object_id) 
    FROM sys.sql_modules m 
    WHERE m.definition like '%whatever%' 

sys.sql_modules.definition ist nvarchar (max). Andere ähnliche Ansichten haben nvarchar (4000) -Spalten, in denen der Text auf mehrere Zeilen aufgeteilt ist.

+1

+1 - Sie können 'sp_depends' auch verwenden, aber es wird nicht Zeige Inter-Datenbank-Abhängigkeiten. – JNK

+0

das hat super funktioniert! Vielen Dank! – Ramy

5

Holen Sie sich Red-Gate SQL Search - es ist großartig, es ist FREE und es funktioniert einfach. Es kann verwendet werden, um genau das zu tun, wonach Sie suchen! Nimm es - es ist sein Gewicht in Gold wert!

alt text

+0

+100. Nett. Wusste nicht, dass das frei war. Ich liebe Redgate. – NotMe

0

Wenn das alles innerhalb von SQL Server können Sie es einfach neu kompilieren.

Erstellen Sie einfach ein einzelnes Skript, das alle gespeicherten Prozeduren und Funktionen enthält. Führen Sie das Skript aus. Es wird bombardieren, wo die Probleme liegen.

Optional können Sie auch das von Ihnen erstellte Skript durchsuchen.

Verwandte Themen