Dies wird Ihnen eine Liste aller Inhalte der gespeicherten Prozedur mit INSERT oder UPDATE in ihnen für eine bestimmte Tabelle geben (Sie können natürlich die Abfrage anpassen). Auch längere Prozeduren werden über mehrere Zeilen in dem zurückgegebenen Re-Cord-Set unterbrochen, so müssen Sie möglicherweise ein manuelles Durchsuchen der Ergebnisse manuell durchführen.
Bearbeiten : Die Abfrage wurde optimiert, um auch den SP-Namen zurückzugeben. Beachten Sie außerdem, dass die obige Abfrage alle benutzerdefinierten Funktionen sowie SPs zurückgibt.
sys.sql_dependencies
enthält eine Liste von Entitäten mit Abhängigkeiten, einschließlich Tabellen und Spalten, die ein Sproc in Abfragen enthält. In diesem Post finden Sie ein Beispiel für eine Abfrage, die Abhängigkeiten abruft. Das Code-Snippet unten erhält eine Liste der Tabellen- / Spaltenabhängigkeiten nach Stored Procedure
Sie könnten versuchen, alle gespeicherten Prozeduren in eine Textdatei zu exportieren und dann eine einfache Suche zu verwenden.
Eine fortgeschrittenere Technik wäre, eine regexp-Suche zu verwenden, um alle SELECT FROM- und INSERT FROM-Einträge zu finden.
Das scheint zu funktionieren:
select
so.name as [proc],
so2.name as [table],
sd.is_updated
from sysobjects so
inner join sys.sql_dependencies sd on so.id = sd.object_id
inner join sysobjects so2 on sd.referenced_major_id = so2.id
where so.xtype = 'p' -- procedure
and is_updated = 1 -- proc updates table, or at least, I think that's what this means
Wenn Sie sp_search_code von Vyaskn's Website herunterladen, können Sie beliebigen Text in Ihren Datenbankobjekten finden.
Dieser Link wurde als Ressource für die SP-Suche verwendet.
Tags und Links sql sql-server stored-procedures