Ich muss einen SQL Server 2008 nach gespeicherten Prozeduren durchsuchen, die möglicherweise den Namen eines Datenbankfelds oder einen Variablennamen enthalten.
sql-server
sql-server-2008
tsql
stored-procedures
Gary Kindel
quelle
quelle
Holen Sie sich eine Kopie des kostenlosen Red-Gate SQL- Suchtools und genießen Sie die Suche in SQL Server! :-)
Es ist ein großartiges und sehr nützliches Werkzeug, und JA! Es ist absolut KOSTENLOS für jede Art von Nutzung.
quelle
Sie können auch ApexSQL Search ausprobieren - das kostenlose SSMS-Plug-In von ApexSQL.
quelle
Ich nahm Kashifs Antwort und vereinte sie alle zusammen. Seltsamerweise fand ich manchmal Ergebnisse in einer der Auswahlen, aber nicht in der anderen. Um sicher zu gehen, führe ich alle 3 aus, wenn ich nach etwas suche. Hoffe das hilft:
quelle
Falls Sie auch ein Schema benötigen:
quelle
quelle
[whatever]
Haken wirdwhatever
(wird wichtiger, wenn Sie nach schemaqualifizierten Bezeichnern suchen).Ich habe das obige Beispiel ausprobiert, aber es wurden nicht mehr als 4000 Zeichen angezeigt. Dann habe ich es ein wenig geändert und konnte die gesamte Definition der gespeicherten Prozedur erhalten. Bitte beachten Sie das aktualisierte Skript unten -
quelle
Stellen Sie zunächst sicher, dass Sie die Abfrage unter Ihren Benutzeranmeldeinformationen und auch im richtigen Datenbankkontext ausführen.
Andernfalls gibt sys.procedures nichts zurück. Führen Sie nun die Abfrage wie folgt aus:
Eine andere Option ist die Verwendung von INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION. Beachten Sie jedoch, dass die Routine nur eine begrenzte Anzahl von Zeichen (dh die ersten 4000 Zeichen) enthält.
Ich habe auf Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) getestet.
quelle
quelle
Hier ist die Union-Version, die Losbear verwendet, aber so geändert, dass sie auch den Schemanamen ausgibt:
quelle
So finden Sie eine gespeicherte Prozedur mit Text oder Zeichenfolge
Oft müssen wir den Text oder die Zeichenfolge in der gespeicherten Prozedur finden. Hier ist die Abfrage, um den enthaltenen Text zu finden.
Weitere Informationen finden Sie unter der unten angegebenen URL.
http://www.freshcodehub.com/Article/34/how-to-find-a-stored-procedure-containing-text-or-string
quelle
Für jeden neueren SQL Server als SQL Server 2000:
Wenn jemand mit SQL Server 2000 nicht weiterkommt, ist die Tabelle sql_modules nicht vorhanden. Wenn Sie also syscomments verwenden, erhalten Sie mehrere Datensätze für gespeicherte Prozesse mit mehr als 4000 Zeichen, die jedoch dasselbe Feld c.number haben , damit Sie sie gruppieren können die Teile zusammen, um den vollständigen Text der gespeicherten Prozedur zu erhalten:
quelle
quelle
quelle
Diese Abfrage gibt den Namen und den Inhalt einer gespeicherten Prozedur zurück, auf die in der gespeicherten Prozedur auf "XXXX" verwiesen wird.
Dies ist sehr nützlich, wenn Sie Prozeduren suchen, die auf eine bestimmte Tabelle / Ansicht / Prozedur verweisen
quelle
Dies ist, was ich in SQL 2012 geschrieben habe, um alle gespeicherten Prozeduren auszuwählen, deren Name wie "CompanySpecialisation" lautet.
quelle
Gespeicherte Prozedur zum Suchen von Text in SP .. {Dinesh Baskaran} Trendy Global Systems pvt ltd
quelle
Versuche dies .....
quelle
Dadurch wird in allen gespeicherten Prozeduren aller Datenbanken gesucht. Dies funktioniert auch bei langen Verfahren.
quelle
Ich benutze dieses Skript. Wenn Sie Ihre XML-Kommentare so ändern, dass sie als schwarzer Text auf gelbem Hintergrund angezeigt werden, wird der gesuchte Text in der XML-Spalte der Ergebnisse hervorgehoben. (Extras -> Optionen -> Umgebung -> Schriftarten und Farben [Anzeigeelemente: XML-Kommentar]
quelle