SQL Server 2016 – ALTER COLUMN (Online) Operasyonu

Reading Time: 2 minutes

SQL Server 2016 versiyonu ile ALTER COLUMN operasyonlarımızı ONLINE yapabiliyoruz.Önceden bu özllik olmadığından Column Alter etmek Prod sistemlerde ço zor ve Blockingler oluşturuyordu ve bizde bu tarz işlemlerimizi günün en az yoğun olduğu saatlerde genelde gece operasyonlarında gerçekleştiriyorduk. Bu da bize ekstra iş gücü ve maliyet oluşturuyordu.

2016 versiyonu ile bu işlemlerimizi ONLINE yapabilme özelliğini SQL Server destekler duruma getirdi.

Örneklerimiz ile konuyu daha net ele alalım. ONLINE olmadan ALTER Column Operasyonu gerçekleştirelim ve o sırada başka sessionlardan aynı tablo ve kolona erişmek isteyelim ve bu şekilde session durumlarını gözleyelim.

İlk önce bir demo tablo oluşturuyoruz ve içerisine data basıyoruz.

Daha sonra AdvantureWorks2016 veritabanında yer alan Person tablosundan  bu tabloya veri aktaralım.

Şimdi ise LastName kolonumuzun data type ını değiştirelim ve aynı anda iki ayrı session açıp birinde tablomuza Select çekip diğer sessionda da session durumlarını gözlemliyoruz.

Alter Column İşlemi :

SELECT işlemi :

Monitor İşlemi :

 

Monitoring süreci sonucunda gördüğümüz üzere ,

 

ALTER Table operasyonumuz SELECT operasyonumuzu block lamaktadır.

2016 verisyonu ile hayatımıza giren ALTER ONLINE COLUMN özelliği ile örneğimizi şimdi yapalım ve sonucu gözlemleyelim .

Aşağıda ki script ile ONLINE ALTER Column işlemi yapıyoruz. WITH (ONLINE=ON) ifadesini kullanarak.

Daha sonra başka bir session da tablomuza SELECT işlemi uyguluyoruz.

Bu işlemleri diğer sessionda gözlemliyoruz.

 

,

 

Görüldüğü üzere iki işlemimizde aynı anda birbirini kitlemeden çalışmaktadır. status den runnable olduğunu görmekteyiz.

NOT: Çok yoğun sistemleriniz de bu işlemi yaparken yine de çok dikkatli olmanızı ve sistemin yoğun olmadığı zamanlarda gerçekleştirmenizi öneririm. Hatta ilk önce test ortamlarınızda yapın ve ortalama sürelerini çıkartın. ONLINe işlem olduğu için Offline işleme göre daha uzun sürecektir büyük ve yoğun tablolarda.

 

Kolay Gelsin.

Leave a Reply

Your email address will not be published. Required fields are marked *