SQL Server’da Bulunan Stored Procedure ve View İçinde Arama Yapma

Stored procedure, view ve tabloların sayısı arttıkça hangi tablonun nerede kullanıldığını incelemek zorlaşabiliyor. Örneğin bir tablo üzerinde yapılan değişikliği kullanıldığı her noktayı bulmak ve değişikliği işlemek isteyebiliriz. MS SQL Server için konuşursak bunun aşağıdaki gibi bir yolu bulunmaktadır. Tablo adınızı yazdığınızda aşağıdaki sorgu hangi stored procedure’lerde yer aldığını listeler.

SELECT o.name,o.create_date,o.modify_date
FROM sys.sql_modules sm
INNER JOIN sys.objects o ON o.object_id = sm.object_id
WHERE o.type = 'P' AND sm.definition LIKE '%tablo_adi%'
ORDER BY o.name

Aşağıdaki sorgu da view’lerin içinde arama yapmamızı sağlar.

SELECT o.name, o.create_date, o.modify_date
FROM sys.objects o
WHERE o.type IN ('V') AND 
OBJECT_DEFINITION(object_id) LIKE '%tablo_adi%'
ORDER BY o.name