Ostatnio zdarzyło mi się, że musiałem znaleźć wszystkie procedury składowane zawierające słowo "external". O tyle ważne, że w SQL Server 2012 jest to zarezerwowane słowo kluczowe a nasza baza danych, która wcześniej nie działała na SQL Server 2012 dość liberalnie podchodziła do użycia słowa "external" w procedurach składowanych m.in. nie zapisując nazwy tabeli o nazwie "external" w nawiasy kwadratowe. Czyli zamiast dbo.NazwaTabeli.[External] było dbo.NazwaTabeli.External. Przy takim zapisie program wywalał się wykonując procedurę składowaną na SQL Server 2012.
Aby zatem znaleźć procedury składowane zawierające pewien ciąg znaków, można wykorzystać taki kod:
SELECT DISTINCT o.name AS Object_Name,o.type_desc FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id=o.object_id WHERE m.definition Like '%external%' order by Object_Name