SQL Servers Lisans Upgrade

22 Mayıs 2016 Pazar

SQL Server versiyonu 2012’de "X sunucusunda işlemci kaynağının yarısı kullanılıyor".  sorunu incelerken ilk yapılan şey ilgili SQL Server Instance'ındaki Affinity Mask ayarlarını kontrol etmek:

Bu sunucuda bu noktada Hyperthreading etkin değildi. Sunuda toplam 40 Core vardı ve SQL Server da toplamda 40 tane Core görüyor olmalıydı. Windows Server 40 Core görüyordu, yani Windows Server tarafında sorun yoktu.. sys.dm_exec_schedulers DMV'sinin ürettiği sonuçları inceledim, gerçekten de sadece 20 tane işlemcinin durumu "VISIBLE ONLINE", diğer 20 işlemcinin durumu ise "VISIBLE OFFLINE" idi. Eğer sys.dm_exec_scheduler ile yaptığınız kontrolde bir işlemcinin durumunu "VISIBLE OFFLINE" olarak görüyorsanız, o işlemciye bir iş atanamaz demektir.

Ardından Error Log'u inceledim ve aşağıdaki bilgiyi gördüm:
<I>"SQL Server detected 4 sockets with 10 cores per socket and 10 logical processors per socket, 40 total logical processors; using 20 logical processors based on SQL Server licensing. This is an informational message; no user action is required."</I>

Bu SQL Server'ın Edition'ı Enterprise Edition idi. Lisanslama ile ilgili ne gibi bir sorun olabilirdi ki? Evet, bu SQL Server Enterprise Edition'dı ve aşağıdaki komut:

SELECT SERVERPROPERTY('edition')
Aşağıdaki sonucu üretiyordu:
Enterprise Edition (64-bit)

Fakat yeni terminolojide bu ibare, SQL Server'ın 20 adet Core ile sınırlandığı anlamına geliyor. Eğer sınırsız Core lisanslaması istiyorsanız o zaman sorgunuzun sonucu aşağıdakini üretmeli:
Enterprise Edition: Core-based Licensing (64-bit)


Her ne kadar bu iki Edition da Enterprise Edition olsa, eğer Instance'ınız ilk sonucu üretiyorsa o zaman 20 adet Core ile sınırlandırılırsınız demektir. Eğer Hyperthreading etkinse, o zaman bu sayı 2'ye katlanarak 40 Core oluyor. SQL Server lisanslama açısından Hyperthreading'in etkin mi yoksa kapalı mı olduğunu kontrol ediyor. Bu senaryoda eğer Hyperthreading etkin olsaydı o zaman yukarıdaki mesaj şöyle olacaktı:

SQL Server detected 4 sockets with 10 cores per socket and 20 logical processors per socket, 80 total logical processors; using 40 logical processors based on SQL Server licensing. This is an informational message; no user action is required."

Eğer Instance'ınızı "Enterprise Edition: Core-based Licensing (64-bit)"a Upgrade ederseniz, o zaman yukarıda Error Log'ta görmüş olduğunuz (Hyperthreading'in etkin olmadığı) mesaj aşağıdaki gibi değişir:

SQL Server detected 4 sockets with 10 cores per socket and 10 logical processors per socket, 40 total logical processors; using 40 logical processors based on SQL Server licensing. This is an informational message; no user action is required.

Peki Instance'ınızı nasıl "Enterprise Edition (64-bit)"den "Enterprise Edition: Core-based Licensing (64-bit)"e Upgrade edeceksiniz?

Bunun için SQL Server Installation Center'ı kullanabilirsiniz. Installation Center'ı açtıktan sonra ekranın solundaki Maintenance bölümündeki Edition Upgrade'e tıklayın ve devam edin. Core-based lisans anahtarınızı girdiğinizde Setup bunu otomatik olarak algılayacaktır. Yani Upgrade için farklı bir medyaya ihtiyacınız yok. Ayrıca SQL Server Setup medyasının sürücüye "mount" edilmiş olmasına da ihtiyaç yok.
Dikkat edin, bu işlem kesinti gerektiriyor. İşlem boyunca SQL Server servisleri kapatılıp açılıyor. İşlem çok kısa, 1-2 dakika sürüyor.


Share/Bookmark

0 comments :