EurobankTekfen SQL Server DBA www.turgaysahtiyan.com Turgay Sahtiyan.

Slides:



Advertisements
Benzer bir sunumlar
Performance Tuning Performans Düzenleme Teknikleri.
Advertisements

Veritabanı Temel Kavramlar ve
SQL Sibel SOMYÜREK.
SQL SERVER STORED PROCEDURE
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK Bank ASYA – ORACLE DBA
Update UPDATE tablo_ismi SET sutun1=‘deger1’ WHERE sutun=deger.
Maliye Bakanlığı Strateji Geliştirme Başkanlığı Operasyonel Planlama Stratejik Yönetim Dairesi.
Veri Tabanı Yönetim Sistemleri Hafta 1. 2 Temel Kavramlar Veri Olguların, kavramların, veya talimatların, insan tarafından veya otomatik yolla iletişim,
Cam Vakıf Türkiye Şişe ve Cam Fabrikaları A.Ş. Ve İştirakleri Sosyal Güvenlik ve Bilimsel Araştırma Vakfı Temsilciler Meclisi Olağan Genel Kurul Toplantısı.
EK DERS UYGULAMA REHBERİ. GIRIŞ EKRANı Sisteme giriş için adresi kullanılmaktadır. Kullanıcı adı ve şifre için ö ğ renci bilgi.
Sigorta Denetleme Kurulu
Dosya Yönetimi Dosya, Klasör ve Sürücüler HÜSEYİN ALİOSMANOĞLU.
SQL Server’da Index Kavramı
EurobankTekfen SQL Server DBA Turgay Sahtiyan.
MED 167 İnternette İstatistik. İnternetteki istatistik verileri, özellikle ülke hakkındaki makro istatistiklerden bahsediyorsak, çoğunlukla resmi kurumlardan.
EurobankTekfen SQL Server DBA Turgay Sahtiyan.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Veri Toplama ve Değerlendirme Sistemi Tanıtım Toplantısı.
CSS ile Konumlandırma Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu.
Makine Öğrenmesinde Yeni Problemler YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ.
KİRİŞ YÜKLERİ HESABI.
TLS/SSL BILGI İŞLEM ORGANIZASYONU BERKE ÖMEROĞLU
SMMM ve YMM’LER İLE DENETİM HİZMETLERİNİN EKONOMİK GELİŞMELERE VE SERMAYE PİYASASINA ETKİSİ Nazım Hikmet YMM, Grant Thornton Türkiye İcra Kurulu Başkanı.
İŞLETİM SİSTEMLERİ ISE 206 DR. TUĞRUL TAŞCI. Dersin Amacı Bilgisayar sistemlerinin temel organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini.
İSTATİSTİK II BAĞIMSIZLIK TESTLERİ VE İYİ UYUM TESTLERİ “ c2 Kİ- KARE TESTLERİ “
Dünya engelliler günü. Engelli Olmak Bir Engel Mi?
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
IP Adresleme Mekanizması - Adres Sınıfları ve Altağlar Sistem Adresi ve Ağ Adresi Kaynaklar: Ilker Temir, Yrd.Doc.Dr. Sirin Karadeniz, Rize Univ. MYO.
ÇAĞRI MERKEZİ CRM YAZILIMI İÇERİK ÖRNEĞİ
İŞLETİM SİSTEMLERİ ISE 206 Dr. Tuğrul TAŞCI.
DENEYSEL TERTİPLER VE PAZAR DENEMESİ
(Bircom – Müşteri Deneyimi ve Ürün Geliştirme)
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Transaction ve Örnekler
FOTOGRAMETRİ - I Sunu 3- 4 Eminnur Ayhan
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
SAĞLIK KURUMLARINDA KARAR VERME YÖNTEMLERİ
EKRAN KARTLARI.
İnternet ve WEB Tanımları Html Temel Etiketleri
BİLGİSAYAR ÇEŞİTLERİ.
SUNUM PROGRAMLARI (Bölüm 2)
E-BÜTÇE TENKİS OLUŞTURMA
DOSYA BÜYÜKLÜKLERİ İkili Sistem Dosya Büyüklükleri ve Hesaplamalar
TETİKLEYİCİLER ve HATA KONTROLÜ
5. HAFTA Öğr. Gör. Yunus KÖKVER
Veri Kontrol Dili (DCL) DCL, bir veri tabanı ile ilişkili kullanıcıları ve rollerin izinlerini değiştirmek için kullanılır. Diğer bir deyişle verilere.
Oğuz KIRÇİÇEK
MATEMATİK DERSİ ÖĞRETİM PROGRAMI
ENM 321 İNSAN MÜHENDİSLİĞİ
SQL.
PARAMETRİK HİPOTEZ TESTLERİ
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
B+-Ağaçları.
Tezin Olası Bölümleri.
VERİTABANI YÖNETİM SİSTEMLERİ 3-Normalizasyon
Stored Procedure Öğr.Gör.Metin Akbulut.
SQL Server - Indexes.
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
SQL Server - Views.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
5.6 İKS Dokümantasyonu Her çiftçi için belli dokümanlar ve İKS seviyesinde tutulmalıdır. ( İKS Rehberi 5.6’da belirtildiği gibi) Bu kayıtlar hem iç hem.
Kesikli Olay benzetimi Bileşenleri
HESAP KAVRAMI VE İŞLEYİŞİ
Bilimsel Araştırma Yöntemleri
Bellek içi raporlama sistemleri için denormalizasyon uygulaması
Sunum transkripti:

EurobankTekfen SQL Server DBA Turgay Sahtiyan

Ajanda DMV-DMF Nedir? Ne Amaçla Kullanılır? DMV-DMF Farkı Nedir? Nasıl Bir Yetki Gereklidir? Tüm DMV – DMF Listesi Örnekler DMV’ler ile Başka Neler Yapılabilir? Soru - Cevap

DMV – DMF Nedir? SQL Server da Dynamic Management View(DMV) ve Dynamic Management Function’lar (DMF), sistemi monitor etmek, herhangi bir problemi teşhis etmek veya sistemi daha performanslı çalışması için tune etmek için kullanılan, sistem durumu hakkında bilgi dönen view ve function’lardır. İlk kez SQL Server 2005 ile gelmiştir.

Ne Amaçla Kullanılır? Şu an devam eden işler ve çalışan query’ler nedir? Genel olarak SQL Server’ın işi yapmak için beklediği noktalar nereler? Network IO’larında bekleme var mı? Disklerin response time’ları nasıl? Şu an diskte bekleyen herhangi bir IO işlemi var mı? Eksik index’lerimden dolayı mı performans sıkıntım var? Bu eksik index’ler nelerdir? Index’lerimin scan,seek yani kısaca kullanım oranları nelerdir? En çok CPU ya da IO tüketen sorgularım hangileri?

DMV – DMF Farkı Nedir? Dynamic Management View (DMV) View’ler gibi select çekilerek sorgulanabilirler. Örnek kullanımı; Select * from sys.dm_os_wait_stats Dynamic Management Function (DMF) Input parametresi alarak bu parametreye göre sonuç döndüren fonksiyonlardır. Örnek kullanımı; SELECT * FROM sys.dm_exec_requests CROSS APPLY sys.dm_exec_sql_text(sql_handle)

Nasıl Bir Yetki Gereklidir? Permission (yetkilendirme) açısından 2 tipe ayrılırlar Database seviyesindeki DMV-DMF’ler Örn. sys.dm_db_partition_stats Yetkilendirme şu şekilde yapılır. GRANT VIEW DATABASE STATE TO userName Server seviyesindeki DMV-DMF’ler Örn. sys.dm_os_sys_info Yetkilendirme şu şekilde yapılır. GRANT VIEW SERVER STATE TO userName

Tüm DMV – DMF Listesi

Örnekler DMW’ler ile Session(Process) Kontrolleri (sys.em_exec_requests) En Çok CPU ya da IO Tüketen Sorgular (sys.dm_exec_query_stats) Prosess Beklemelerinin Analizi (sys.dm_os_wait_stats) Disklerin IO Response Time’ları (sys.dm_io_virtual_file_stats) Şu an Diskte Bekleyen IO Var mı? (sys.dm_io_pending_io_requests) Index’lerin Fragmante Oranları (sys.dm_db_index_physical_stats) Index’lerin Kullanım İstatistikleri (sys.dm_db_index_usage_stats) Eksik Index’lerin Sorgulanması Sys.dm_db_partition_stats ile Tablo Bilgileri Sys.dm_os_sys_info ile Server Bilgileri Cache’lenen Sorgular (sys.dm_exec_cached_plans)

DMW’ler ile Session(Process) Kontrolleri Aktif Prosess’ler Neler? Şu an Hangi Query’ler Çalışmakta? Bu Prossess’ler Hangi Login ile Hangi Makinadan Çalıştırılmış? Bu Prosess’lerin Tahmini Bitiş Süreleri Kullanılacak DMV ve DMF’ler sys.dm_exec_requests sys.dm_exec_connections sys.dm_exec_sessions sys.dm_exec_sql_text sys.dm_exec_query_plan

DMW’ler ile Session(Process) Kontrolleri

DBName : Session’ın çalıştığı DB’yi gösterir. login_name : Session’ın hangi user name ile açıldığını gösterir. host_name : Session’ın hangi makinadan yapıldığını gösterir. text : Çalışmakta olan query’nin tamamını gösterir. statement_text : Çalışmakta olan query’nin şu anda çalışmakta olan kısmını gösterir. Örneğin binlerce satırlık bir query’iniz olduğunu düşünün. Ve şu anda bu query’nin 400.satırındaki update işlemi yapılmakta. Text kolonu bu query’nin tamamını, statement_text kolonu ise gerçekten şu anda işletilmekte olan update işlemini gösteriyor olacaktır. blocking_session_id : Eğer bu session bir başka session tarafından bloklandıysa buraya bloğu koyan session’ın ID’si gelir. status : Query’nin şu andaki durumunu gösterir. wait_type : Eğer query şu anda blok’lu durumdaysa bu blok’un tipini verir. wait_time : Eğer query şu anda blok’lu durumdaysa milisaniye cinsinden ne kadar zamandır blok’lu olduğunu verir. percent_complete : Backup,Restore gibi bazı işlemleri yapan session’ın şu anda işinin yüzde kaçında olduğunu gösterir. estimated_completion_time : Gene Backup,Restore gibi bazı işlemlerin tahmini olarak ne kadarlık daha işi kaldığını milisaniye cinsinden verir.

En Çok CPU Tüketen İlk 50 Sorgu

En Çok IO Tüketen İlk 50 Sorgu

Prosess Beklemelerinin Analizi

Disklerin IO Response Time’ları

Şu an Diskte Bekleyen IO Var mı?

Index’lerin Kullanım İstatistikleri

Index’lerin Fragmante Oranları

Kullanılmayan Index Raporu

Eksik Index’lerin Sorgulanması sys.dm_db_missing_index_group_stats - DMV sys.dm_db_missing_index_groups - DMV sys.dm_db_missing_index_details - DMV sys.dm_db_missing_index_columns - DMF

Eksik Index’lerin Sorgulanması

sys.dm_db_partition_stats ile Tablo Bilgileri

object_id : Index’in bağlı bulunduğu table’ın ID’si. sys.objects’e join edeceğiz. index_id : Index’in ID si. sys.indexes’e join edeceğiz. partition_number : Partition number’ı. AdventureWorks’te hiç partitioning kullanılmadığı için bu değer bütün index’ler için 1’dir. in_row_data_page_count : Data’yı tutmak için kullanılan page sayısı. Index eğer Heap ise bu değer heap level’daki data page’lerin sayısını ifade eder. Eğer Clustered yada NonClustered Index ise bu değer leaf level’daki data page’leri ifade eder. NonLeaf’leri içermez. used_page_count : NonLeaf ve Leaf level’lardaki page’lerin toplamını ifade eder. reserved_page_count : Toplam rezerve edilen page sayısını ifade eder. Table’ın toplam kapladığı alan bu page sayısı üzerinden hareket edilerek bulunur. row_count : Bahsi geçen partition’daki satır sayısını ifade eder. AdventureWorks’te partitioning kullanılmadığı için her index için table’da bulunan satır sayısını ifade eder.

sys.dm_db_partition_stats ile Tablo Bilgileri Table’ların Kayıt Sayıları Table’ların Boyutları

sys.dm_os_sys_info ile Server Bilgileri

SQL Server UpTime

Cache’lenen Sorgular

DMV’ler ile Başka Neler Yapılabilir? SQL Server Buffer Pool Analizi Index’lerin Operasyonel İstatistikleri Stored Procedure İstatistikleri Trigger İstatistikleri CPU Üzerindeki Beklemelerin Kontrolü Dependent Objelerin Kontrolü Transaction Kontrolleri Performance Counter’ların Analizi Lock’lanan Kaynakların Kontrolü Cursor’ların Analizi SQL Server İlişkili Beklemelerin Analizi

Soru - Cevap Turgay Sahtiyan EurobankTekfen SQL Server DBA