İlginizi Çekebilir
  1. Ana Sayfa
  2. SQL Server
  3. SQL Server 2017 ile Gelen (dm_os) DMV ve DMF’leri

SQL Server 2017 ile Gelen (dm_os) DMV ve DMF’leri

SQL Server 2017 ile Gelen (dm_os) DMV ve DMF’leri

Günlük operasyonlarda ’ın buluduğu sistem üzerinde çeşitli işlemler yapmamız gerekebiliyor.
Bunların en esnek yöntemlerinden biri de xp_cmdshell vasıtasıyla komut satırından SQL Server’ın servis kullanıcısının yetki alanı içerisinde istediğiniz işlemi yapabilirsiniz. Fakat, özellik varsayılan olarak kapalı gelir. Güvenlik zafiyetleri oluşturabileceğinden dolayı da veritabanı yöneticileri kullanımına çok sıcak bakmaz. Bu yüzden CLR kullanmanız bile gerekebilir ama artık dosya sistemi üzerinde ile birlikte gelen DMV ve sayesinde çok daha basit bir şekilde dosya sistemine erişerek ihtiyaçlarınızı karşılayabilirsiniz.

DMV

  • sys._enumerate_fixed_drives

 

DMF

  • sys.dm_os_enumerate_filesystem
  • sys.dm_os_file_exists

 

dm_os_enumerate_fixed_drives

Bu DMV ağırlıklı olarak veritabanı yöneticilerinin işine yarayacaktır.
Sunucu üzerinde bulunan diskleri ve boş alanları görüntüleyerek raporlama yapmaları için işlerini kolaylaştıracaktır.

Resim – 1

dm_os_file_exists
Klasör ve dosyaların sistem üzerinde bulunmalarını kontrol etmenize yaramaktadır.
Özellikle dosya üzerinden ETL işleri yapıyorsunuz sunucunuzun diskine “günlük dosyalar gelmiş mi?” ya da “Backupları başka bir diske düzgün aktarmış mıyım?” tarzında senaryolar için işinize çok yarayacaktır.
Not: Bu DMF’in aslında eski bir versiyonu da mevcut (xp_fileexist)

Resim – 2

dm_os_enumerate_filesystem
Bu DMF üzerinde ise dilediğimiz klasör ve dosya adı kombinasyonuyla arama yapabiliyoruz. Normal şartlarda bütün bu özellikleri xp_cmdshell üzerinden dir çalıştırarak ya da Get-ChildItem komutu ile üzerinden sonuç alabilirsiniz. Fakat, bu detayda bir veri almak ve bunları SQL içerisinde kullanabileceğiniz bir formata çevirmek için çok daha fazla komut yazmanız gerekiyor. Hatta kodlarınızı yeterince dinamik yazamazsanız aynı kodu farklı alanlarda bile tekrar kullanamayacaksınız.
İşte tam bu noktada bu müthiş DMF imdadımıza yetişiyor. Basit bir şekilde bize tablo çıktısı olarak aldığımız bu bilgiler sayesinde rastgele oluşturulmuş isimli dosyalarımızı tarayarak ETL vb. işler için okumamız gereken dosyaları kolayca elde etmiş oluruz.
Bu nokta da son yazma tarihi ve oluşturma tarihi detayları sayesinde dosyalarımızın üzerindeki değişimleri de inceleyebilir ve raporlayabiliriz

Resim – 3

Artık xp_cmdshell’den kullanımını biraz daha azaltarak bu pratik yöntemler ile günlük geliştirmelerimiz için bize vakit kazandıracaktır.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: SQL Server, SQL Server 2017, , , DMV, DMF, dm_os,,,

Yorum Yap

Yazar Hakkında

Gazi Üniversitesi Bilgisayar bölümü ile başladığım eğitimi Anadolu Üniversitesi İşletme mezunu olarak tamamladım. 2009 senesinden bu yana Microsoft ürünleri ile İş Zekası ve Veri Ambarı konularında pek çok farklı sektörde uçtan uca proje geliştirdim. Halen aktif olarak MS SQL Server, SSIS, SSRS, SSAS ürünleri üzerinde çalışma hayatıma devam etmekteyim.

Yorum Yap