1

SQL Server 2014 Buffer Pool Extension (BPE) Özelliği Nedir? Bu yazımız içerisinde sizlere SQL Server 2014 ile gelen Buffer Pool Extension özelliğini anlatacağım. SQL Server 2014 öncesinde herhangi bir sorgu çekildiğinde bu sorguya bağlı olan Data ya da Index Pageleri Diskten okunup SQL Server Buffer Pool’a yazılır ve daha sonraki kullanımlar için Cache lenir. Bu durumda eğer daha sonra bu Page tekrar kullanılmak istenirse SQL Server bu Page’i Disk yerine Buffer Pool’dan getirerek performans artışı sağlamış olur.

Peki, SQL Server 2014 beraber gelen Buffer Pool Extension özelliği ne işe yarar?

SSD gibi veri erişim hızı yüksek olan fiziksel Disklermizin Buffer Pool olarak kullanılma imkânı sağlamaktadır. Buffer Pool Extension en önemli özelliklerinden biri Disk veya Storage tarafında yaşanabilecek bir sorun halinde Buffer Pool Extension özelliğinin kendisini disable etmesidir. Ayrıca Buffer Pool Extension alanında sadece “Clean Page” yani “Commit” edilmiş Dataları içeren Page’ler bulunmaktadır ve bu sebepten herhangi bir veri kaybı söz konusu olmayacaktır.

SQL Server 2014 öncesinde Buffer Pool’a alınan her bir Page’in incelenmesini ( hangi Database ait, hangi objelere ait ) sağlamamıza yardımcı olması için sys.dm_os_Buffer_descriptors DMV’si kullanılmaktadır. SQL Server 2014 Buffer Pool Extension Configuration değerleri için sys.dm_os_Buffer_Pool_extension_configuration DMV’si , Page incelenmesi için ise yine sys.dm_os_Buffer_descriptors isimli DMV kullanılmaktadır. Yalnız SQL Server 2014 ile bu DMV üzerine is_in_bPool_Extension isimli bir kolon eklenmiştir.

SQL Server 2014 öncesi ve sonrası Buffer Pool incelenmesi için;

Select * from sys.dm_os_Buffer_descriptors

SQL Server 2014 Buffer Pool Extension incelenmesi için ;

SELECT * FROM sys.dm_os_Buffer_Pool_extension_configuration – Buffer Pool Extension Configuration DMV

Select * from sys.dm_os_Buffer_descriptors – SQL Server 2014 ile DMV üzerine dahil edilen is_in_bPool_Extension adlı bir kolondur.

Konumuz gereği Buffer Pool Extension incelemelerine devam edelim.


Resim-1

Yukarıdaki resimden anlaşılacağı üzere Buffer Pool Extension özelliği Disable ( Kapalı ) durumdadır. Bu özellik Server seviyesinde bir özellik olmasından ötürü Alter Server Configuration komutu ile özelliğin Enable edilmesini sağlayacağız.

alter server CONFIGURATION

set BUFFER POOL EXTENSION ON

(FILENAME = ‘C:\BufferPoolExtension\SQLServerBufferPool.BPE’,SIZE = 3 GB)

Yukarıdaki kod parçasını çalıştırdığımızda ise aşağıdaki gibi bir hata mesajı alabiliriz. Sebebi ise SQL Server’a tanımlanmış olan Max Memory değerinden büyük bir SIZE belirtilmesi gerekiyor.

Resim-2

Max Memory değerinden büyük bir SIZE bilgisi vererek tekrar aşağıdaki kod parçasını çalıştırıyoruz ve işlemin başarılı bir şekilde gerçekleştiğini görüyoruz.


Resim-3

İşlem sonrasında ise;


Resim-4

Aşağıdaki Kod parçası ile oluşturduğumuz Buffer Pool Extension özelliğini disable ettiğimizde ise var olan BPE uzantılı dosyanın olmadığını görebiliriz.


Resim-5

İşlem Sonrasında ise ;


Resim-6

Buffer Pool Extension özelliğini tekrar enabled edip DMV üzerinden kolonların incelemesini yapalım.


Resim-7

  • Database_id : Page in ilişkili olduğu Database in ID si
  • file_id : Page in ilişkili olduğu Database in file ID si
  • Page_id : File ın içindeki Page in ID si
  • Page_level : Page in Index level ı
  • allocation_unit_id : Bu kolonu sys.allocation_units DMV sine join için kullanacağız.
  • row_count : Page de bulunan kayıt sayısı
  • free_space_in_bytes : Bytes cinsinden Page in boş olan kısmını gösterir. Bu arada Page in toplam boyutu 8192 byte dır. Bunuda not olarak düşelim. Daha sonra bu değeri MB hesabında kullanacağız.
  • is_modified : Eğer 1 ise Page Disk ten okunduktan sonra değiştirilmiş olduğu manasına gelir.
  • is_in_bPool_Extension : Bu alan da Page’in BPE ( Buffer Pool Extension )’de mi yoksa RAM’de mi olduğunu gösterir.

Bir makalenin daha sonuna geldik, umarım faydalı olunmuştur.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

https://www.mshowto.org

TAGs : Buffer Pool Externtion nedir, bpe nedir, sql bpe nedir, sql bpe ayarlari, sql bpe konfigurasyonu, sql server, Microsoft, sql bpe settings, sql Buffer Pool Extension, Buffer Pool Extension ayarlari, Buffer Pool Extension ilk konfigürasyon, Buffer Pool Extension configuration

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Milenyumdan beri ilginç bir merak duygusu ile başlayan bilgisayar ve teknoloji dünyası merakı sayesinde eğitim yaşantımı doğup büyüdüğüm Düzce'de geçirdim. Sonrasında Düzce'nin kendimi geliştirmek adına yeterli imkanlara sahip olmadığından İstanbul'a gelip Bilge Adam Eğitim Kurumlarından Yazılım ve Veritabanı eğitimi aldım. Eğitimimi tamamlarken çeşitli Windows ve Web uygulamaları geliştirdim.Sırası ile Sentez Yazılım, Nebim Yazılım, Ciceksepeti, Doğan Holding, Kariyer.Net, TurkNet gibi firmalarında Yönetici / Müdür pozisyonlarında farklı ünvanlarda ( Yazılım Geliştirici / Raporlama ve Veritabanı Yöneticisi gibi) görev aldım. Şimdilerde ise DMC Bilgi Teknolojileri firmasının Kurucu Ortaklığını ve Veritabanı Danışmalığı Hizmeti vermekteyim.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. 19/08/2019

    Çok faydalı oldu. Emeğinize sağlık.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir