5 Mart 2013 Salı

Stored Procedure lerde Kullanımayan Tabloları Bulmak

Günümüz ICT masraflarının en büyük gider kalemlerinden biri IO sıkıntılarını gidermek adına yaptıkları yatırımlardır.
Storage alanında teknolojinin henüz yeterli seviyeye ulaşmaması nedeniyle diskleri ne kadar verimli kullanırsak okadar az maliyet oluşturacağını biliriz.
Planlanmadan oluşturulan yazılım projelerinin oluşturmuş olduğu databaseler üzerinde çalışıyorsanız, içerisinde kaybolmak an meselesidir. kesinlikle kullanılmayan temp tabloların olduğunu bilirsiniz ama kritik bir uygulamaya dokunacağından tedirgin olabilirsiniz.
Bu durumda yapılacak işlerden biride sp lerin içerisinde kullanılmayan tabloları bulmak ve gereçekten ihtiyaç duyulmuyor olduğundan emin olduktan sonra silmektir.

Stored procedure lerde kullanılmamış tabloları aşağıdaki sorugu ile bulabilirsiniz.

select t.name, sys.objects.name foundin, sys.objects.type_desc from sys.objects t
left outer join   sys.sql_modules
inner join sys.objects on sys.objects.object_id = sys.sql_modules.object_id on sys.sql_modules.definition like '%' + t.name + '%'
where t.type = 'U' and sys.objects.name is null
order by t.name, type_desc, foundin

Not:Tablo sayınıza ve sp adedinize göre sorgunun tamamlanması uzayacaktır.

Hiç yorum yok: