Fail Eden Index’leri Kaldığı Yerden Devam Ettirin(Resumable Index)

20 Kas by NURULLAH ÇAKIR

Fail Eden Index’leri Kaldığı Yerden Devam Ettirin(Resumable Index)

Resumable Index hayatımıza SQL Server 2017 ile birlikte girdi.

 

Index’leri online rebuild ederken failover, disk yetmezliği, manual durdurma(PAUSE) gibi nedenlerden dolayı index rebuild işlemi fail olabiliyordu. Bu tip durumlarda fail olduktan sonra rebuild işleminin kaldığı yerden devam etmesi için index’i RESUMABLE=ON şeklinde işaretlemeniz gerekiyor.

 

Aşağıdaki script yardımıyla index’i resumable hale getirebilirsiniz.

 

ONLINE=ON’u script’e eklemezseniz aşağıdaki gibi hata alırsınız.

 

Msg 11438, Level 15, State 1, Line 3

The RESUMABLE option cannot be set to ‘ON’ when the ONLINE option is set to ‘OFF’.

 

Aşağıda index rebuild işlemini pause eden kodu bulabilirsiniz.

 

 

Aşağıda, yukarda belirttiğim nedenlerden dolayı pause olmuş bir Index Rebuild işlemini devam ettirebileceğiniz sorguyu bulabilirsiniz.

 

Ayrıca Index rebuild işlemini diyelim ki maxdop ile başlatmadınız. Durdurup resume ederken maxdop seviyesini değiştirerek sorgunun paralellik seviyesini artırıp işlemin daha hızlı bitmesini sağlayabilirsiniz.

 

 

Aşağıdaki sorguda da Index’i Resume ederken başka ayarlar da yapıyoruz. Sorgudaki diğer ayarlar için “WAIT_AT_LOW_PRIORITY ile Online Index Rebuild ve Partition Switch İşlemlerini Kontrol Edin” isimli makaleyi okumanızı tavsiye ederim.

 

 

Aşağıdaki sorgu yardımıyla da pause durumda olan ya da çalışan index rebuild işlemini durdurabiliyoruz.

 

 

 

SORT_IN_TEMPDB=ON ifadesi RESUMABLE index’lerde desteklenmiyor.

 

Disable edilmiş index’lerin rebuild işlemini RESUMABLE ile yapamıyoruz.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Lütfen captcha kodunu giriniz *

Lütfen Resimdeki Kodu Boşluğa Giriniz.