SQL Server 2017 New DMV ( sys.dm_tran_version_store_space_usage)

Reading Time: 1 minute

SQL Server 2017 versiyonu ile gelen DMV lerden bir taneside  sys.dm_tran_version_store_space_usage DMV sidir. Bu DMV TempDB üzerinde Row versioning sebebi ile hangi veritabanında ne kadar alan kaplandığı bilgisini bize döndürür.

ÖNEMLİ : RCSI (Read Commited Snapshot) ve SNAPSHOT Isolation Level larında TempDB büyüklüğünü yönetmek ve kontrolünü sağlamak için bu DMV çok öenmli bir yer teşkil etmektedir.

Örneğimizde aşağıda ilk etapta sqlturkiye2017 adında bir demo veritabanı oluşturuyoruz.

Daha sonra bu veritabanının Isolation Level ını SNAPSHOT yapıyoruz.

NOT : Row versioning ile çalışan diğer Isolation Level’dır. RCSI’dan farklı olarak transaction bazlı read tutarlılığı sağlar. Bu özelliği sayesinde bir çok concurrency sorununu çözmüş olacaktır.Dikkat edilmesi gereken önemli bir nokta olarak;veritabanı bazında SNAPSHOT’a izin verdiğiniz anda transaction’larınızda SNAPSHOT’ı kullanmasanız bile update,delete ve bazı insert’ler versiyonlanmaya başlayacaktır. Bu işlemde tempdb’de yoğun kullanıma sebep olacaktır.

Şimdi de oluşturduğumuz veritabanı altında demo tablomuzu oluşturalım.

Daha sonra tablomuza data basalım,

Şimdi UPDATE işlemi gerçekleştirelim ve sonrasında DMV mizi kullanarak kullanımız gözlemleyelim (Row Versioning in maliyeti için)

DMV miz ve sonucu ;

Kolay Gelsin.

Leave a Reply

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