Sayfalar

9 Mayıs 2018 Çarşamba

Sql Server İndex Rebuild ve Reorganize

Eğer firmanızda SQL tabanlı ERP sistemleri kulanıyorsanız vede belirli tablolarda çok hareket oluşuyorsa bu durum  zaman zaman yaşanan performans sorunlarına sebep olup çeşitli nedenlerle olsa da index fragmentation yüzdelerinin yükselmesi ve ilgili tabloya bağlanan erp ve diğer uygulamaların yavaşlaması ile sonuçlanabiliyor(Örneğin bizde aylık maliyetlerde ve üretim sonu kayıtlarında sıkıntı oluşuyor).Bu tarz durumları özellikle stok hareketi yüksek olan tablolar da görmekteyiz.Bu durumda SQL Server SMSS  ekranında aşağıdaki komut çalıştırılarak en çok fragmentation bulunan tablolar en yüksekten en düşüğe sıralanır bu durumda %30 ve düşük fragmentation durumlarında reorganize diğer durumlarda rebuild işlemi yapılabilir.

" select
ps.object_id,
i.name as ındexname,
object_schema_name(ps.object_id) as objectschemaname,
object_name (ps.object_id) as objectname,
ps.avg_fragmentation_in_percent
from sys.dm_db_index_physical_stats (db_ıd(), null, null , null, 'lımıted') ps
ınner joın sys.indexes i on i.object_id=ps.object_id and i.index_id=ps.index_id
where avg_fragmentation_in_percent > 5 and ps.index_id > 0
order by avg_fragmentation_in_percent desc"


Komut çalıştırılınca canlı sistemimizde ortaya çıkan fragmentation  oranları aşağıdaki resimde görüldüğü gibi %90'lara ulaşmış gözükmektedir: