Aracılığıyla paylaş


Bir Tablo veya Saklı Yordamın In-Memory OLTP'ye Taşıması Gerekip Gerekmediğini Belirleme

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

SQL Server Management Studio'daki İşlem Performansı Analizi raporu, In-Memory OLTP'nin veritabanı uygulamanızın performansını geliştirip geliştirmediğini değerlendirmenize yardımcı olur. Rapor ayrıca uygulamanızda In-Memory OLTP'yi etkinleştirmek için ne kadar çalışma yapmanız gerektiğini gösterir. In-Memory OLTP'ye geçirmek üzere disk tabanlı bir tablo belirledikten sonra, tabloyu taşımanıza yardımcı olması için Bellek İyileştirme Danışmanı kullanabilirsiniz. Benzer şekilde, Yerel Derleme Danışmanı saklı yordamı yerel olarak derlenmiş bir saklı yordama taşımanıza yardımcı olur. Geçiş yöntemleri hakkında bilgi için bkz. In-Memory OLTP - Yaygın İş Yükü Desenleri ve Geçiş Konuları.

İşlem Performansı Analizi raporu doğrudan üretim veritabanına veya üretim iş yüküne benzer etkin bir iş yüküne sahip bir test veritabanına karşı çalıştırılır.

Rapor ve geçiş danışmanları aşağıdaki görevleri gerçekleştirmenize yardımcı olur:

  • In-Memory OLTP'nin performansı iyileştirmeye yardımcı olabileceği sık erişimli noktaları belirlemek için iş yükünüzü analiz edin. İşlem Performansı Analizi raporu, In-Memory OLTP'ye dönüştürmeden en çok yararlanabilecek tabloları ve saklı yordamları önerir.

  • In-Memory OLTP'ye geçişinizi planlamanıza ve yürütmenize yardımcı olur. Disk tabanlı bir tablodan bellek için iyileştirilmiş bir tabloya geçiş yolu zaman alabilir. Memory-Optimization Danışmanı, tabloyu In-Memory OLTP'ye taşımadan önce tablonuzda kaldırmanız gereken uyumsuzlukları belirlemenize yardımcı olur. Memory-Optimization Danışmanı, bir tablonun bellek için iyileştirilmiş bir tabloya geçirilmesinin uygulamanız üzerindeki etkisini anlamanıza da yardımcı olur.

    Uygulamanızın In-Memory OLTP'den yararlanıp yararlanamayacağını görmek, In-Memory OLTP'ye geçişinizi planlamak istediğinizde veya bazı tablolarınızı ve saklı yordamlarınızı In-Memory OLTP'ye geçirmek için çalışırken faydalı olabilir.

    Önemli

    Veritabanı sisteminin performansı, işlem performansı toplayıcısının gözlemleyip ölçemediği çeşitli faktörlere bağlıdır. Bu nedenle, herhangi bir tahmin yapılırsa işlem performans analizi raporu gerçek performans kazançlarının tahminleriyle eşleşeceğini garanti etmez.

İşlem Performansı Analizi raporu ve geçiş danışmanları, SQL Server'ı yüklerken veya SQL Server Management Studio'yu yüklerken Yönetim Araçları-Temel veya Yönetim Araçları-Gelişmiş'i seçtiğinizde SQL Server Management Studio'nun (SSMS) bir parçası olarak yüklenir.

İşlem Performansı Analizi Raporları

Nesne Gezgini'nde veritabanına sağ tıklayıp Raporlar'ı, Standart Raporlar'ı ve ardından İşlem Performansı Analizine Genel Bakış'ı seçerek işlem performansı analizi raporları oluşturabilirsiniz. Anlamlı bir analiz raporu oluşturmak için veritabanının etkin bir iş yüküne veya bir iş yükünün son çalıştırmasına sahip olması gerekir.

Tables

Bir tablonun ayrıntılar raporu üç bölümden oluşur:

  • Tarama İstatistikleri Bölümü

    Bu bölüm, veritabanı tablosundaki taramalar hakkında toplanan istatistikleri gösteren tek bir tablo içerir. Sütunlar şunlardır:

    • Toplam erişim yüzdesi. Tüm veritabanının etkinliğiyle ilgili olarak bu tabloda yapılan tarama ve aramaların yüzdesi. Bu yüzde ne kadar yüksek olursa, tablo veritabanındaki diğer tablolarla karşılaştırıldığında o kadar yoğun kullanılır.

    • Arama İstatistikleri/Aralık Tarama İstatistikleri. Bu sütun, profil oluşturma sırasında tabloda gerçekleştirilen nokta aramalarının ve aralık taramalarının (dizin taramaları ve tablo taramaları) sayısını kaydeder. İşlem başına ortalama bir tahmindir.

  • Çekişme İstatistikleri Bölümü

    Bu bölüm, veritabanı tablosunda çekişme gösteren bir tablo içerir. Veritabanı mandalları ve kilitleri hakkında daha fazla bilgi için Kilit Mimarisi'ne başvurun. Sütunlar aşağıdaki gibidir:

    • Toplam beklemelerin yüzdesi. Bu veritabanı tablosundaki mandal ve kilit beklemelerinin yüzdesi, veritabanının etkinliğiyle karşılaştırıldığında. Bu yüzde ne kadar yüksek olursa, tablo veritabanındaki diğer tablolarla karşılaştırıldığında o kadar yoğun kullanılır.

    • Mandal İstatistikleri. Bu sütunlar, bu tabloyla ilgili olan sorgular için mandal bekleme sayısını kaydeder. Mandallar hakkında bilgi için "Mandallama" bölümüne bakın. Bu sayının yüksek olması, tabloda daha fazla kilitlenme anlaşmazlığı olduğu anlamına gelir.

    • Kilitleme İstatistikleri. Bu sütun grubu, sayfa kilidi alımlarının sayısını kaydeder ve bu tablo için sorguları bekler. Kilitler hakkında daha fazla bilgi için bkz. SQL Server'da Kilitlemeyi Anlama. Ne kadar çok beklenirse, tabloda o kadar fazla kilit uyuşmazlığı olur.

  • Geçiş Güçlükleri Bölümü

    Bu bölüm, bu veritabanı tablosunu bellek için iyileştirilmiş bir tabloya dönüştürmenin zorluğunu gösteren bir tablo içerir. Daha yüksek zorluk derecesi, tabloyu dönüştürmenin daha zor olduğunu gösterir. Bu veritabanı tablosunu dönüştürme ayrıntılarını görmek için lütfen Bellek İyileştirme Danışmanı'nı kullanın.

Tablo ayrıntıları raporundaki tarama ve çekişme istatistikleri, sys.dm_db_index_operational_stats (Transact-SQL) üzerinden toplanır ve birleştirilir.

Saklı Prosedürler

CPU süresi ile geçen zaman oranı yüksek olan saklı prosedür, taşınmak için uygun bir adaydır. Yerel derlenmiş saklı yordamlar yalnızca bellek için optimize edilmiş tablolara başvurabildiğinden ve bu da geçiş maliyetine ek maliyet ekleyebileceğinden, rapor tüm tablo başvurularını gösterir.

Saklı yordamın ayrıntılar raporu iki bölümden oluşur:

  • Yürütme İstatistikleri Bölümü

    Bu bölüm, saklı yordamın yürütülmeleri hakkında toplanan istatistikleri gösteren bir tablo içerir. Sütunlar aşağıdaki gibidir:

    • Önbelleğe Alınan Süre. Bu yürütme planının önbelleğe alınma süresi. Saklı yordam plan önbelleğinden çıkar ve yeniden girerse, her önbellek için zaman olur.

    • Toplam CPU Süresi. Saklanmış prosedürün profil oluşturulması sırasında tükettiği toplam CPU süresi. Bu sayı ne kadar yüksek olursa, saklı yordam (stored procedure) o kadar fazla CPU kullanır.

    • Toplam Yürütme Süresi. Profil oluşturma sırasında kullanılan saklı yordamın toplam yürütme süresi miktarı. Bu sayı ile CPU süresi arasındaki fark ne kadar yüksekse, saklı yordam CPU'yu o kadar az verimli kullanır.

    • Toplam Önbellek Eksik. Profil oluşturma sırasında saklı yordam yürütümlerinin sebep olduğu, fiziksel depolamadan okunan önbellek kaçırmalarının sayısı.

    • Yürütme Sayısı. Bu saklı yordamın profil oluşturma sırasında kaç kez yürütüldüğü sayısı.

  • Tablo Başvuruları Bölümü

    Bu bölüm, bu saklı yordamın başvurduğu tabloları gösteren bir tablo içerir. Saklı yordamı yerel olarak derlenmiş bir saklı yordama dönüştürmeden önce, bu tabloların tümü bellek için iyileştirilmiş tablolara dönüştürülmeli ve aynı sunucuda ve veritabanında kalmalıdır.

Saklı yordam ayrıntıları raporundaki Çalıştırma İstatistikleri, sys.dm_exec_procedure_stats (Transact-SQL) üzerinden toplanır ve derlenir. Başvurular sys.sql_expression_dependencies (Transact-SQL) öğesinden alınır.

Saklı yordamı yerel olarak derlenmiş bir saklı yordama dönüştürme hakkındaki ayrıntıları görmek için lütfen Yerel Derleme Danışmanı'nı kullanın.

In-Memory OLTP Geçiş Denetim Listeleri Oluşturma

Geçiş denetim listeleri, bellek için iyileştirilmiş tablolarla veya yerel olarak derlenmiş saklı yordamlarla desteklenmeyen tablo veya saklı yordam özelliklerini tanımlar. Bellek iyileştirme ve yerel derleme danışmanları, tek bir disk tabanlı tablo veya yorumlanmış T-SQL saklı yordamı için bir denetim listesi oluşturabilir. Bir veritabanında birden çok tablo ve saklı yordam için geçiş denetim listeleri oluşturmak da mümkündür.

SQL Server Management Studio'da OLTP Geçiş Denetim Listeleri Oluştur komutunu veya PowerShell'i kullanarak In-Memory geçiş denetim listesi oluşturabilirsiniz.

UI komutunu kullanarak geçiş denetim listesi oluşturmak için

  1. Nesne Gezgini'nde sistem veritabanı dışında bir veritabanına sağ tıklayın, Görevler'e tıklayın ve ardından OLTP Geçiş Denetim Listeleri In-Memory Oluştur'a tıklayın.

  2. OLTP Geçiş Denetim Listeleri In-Memory Oluştur iletişim kutusunda, İleri'ye tıklayarak Denetim Listesi Oluşturma Seçeneklerini Yapılandır sayfasına gidin. Bu sayfada aşağıdakileri yapın.

    1. Kaydet onay listesine bir klasör yolu girin.

    2. Belirli tablolar ve saklı yordamlar için denetim listeleri oluştur seçeneğinin belirlendiğini doğrulayın.

    3. Bölüm kutusundaki Tablo ve Saklı Yordam düğümlerini genişletin.

    4. Seçim kutusunda birkaç nesne seçin.

  3. İleri'ye tıklayın ve Denetim Listesi Oluşturma Seçeneklerini Yapılandır sayfasındaki görev listesinin ayarlarınızla eşleşip eşleşmediğini onaylayın.

  4. Son'a tıklayın ve yalnızca seçtiğiniz nesneler için geçiş denetim listesi raporlarının oluşturulduğunu onaylayın.

Raporların doğruluğunu, Bellek İyileştirme Danışmanı aracı ve Yerel Derleme Danışmanı aracı tarafından oluşturulan raporlara karşılaştırarak doğrulayabilirsiniz. Daha fazla bilgi için bkz. Bellek İyileştirme Danışmanı ve Yerel Derleme Danışmanı.

SQL Server PowerShell kullanarak geçiş denetim listesi oluşturmak için

  1. Nesne Gezgini'nde bir veritabanına ve ardından PowerShell'i Başlat'a tıklayın. Aşağıdaki istemin görüntülendiğini doğrulayın.

    PS SQLSERVER: \SQL\{Instance Name}\DEFAULT\Databases\{two-part DB Name}>  
    
  2. Aşağıdaki komutu girin.

    Save-SqlMigrationReport -FolderPath "<folder_path>"  
    
  3. Aşağıdakileri doğrulayın.

    • Klasör yolu, var olmayan durumda oluşturulur.

    • Geçiş denetim listesi raporu veritabanındaki tüm tablolar ve saklı yordamlar için oluşturulur ve rapor folder_path tarafından belirtilen konumdadır.

Windows PowerShell kullanarak geçiş denetim listesi oluşturmak için

  1. Yükseltilmiş bir Windows PowerShell oturumu başlatın.

  2. Aşağıdaki komutları girin. Nesnesi bir tablo veya saklı yordam olabilir.

    [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')  
    
    
    Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -FolderPath "<folder_path1>"  
    
    
    Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -Object <object_name> -FolderPath "<folder_path2>"  
    
    
  3. Aşağıdakileri doğrulayın.

    • Veritabanındaki tüm tablolar ve saklı yordamlar için bir geçiş denetim listesi raporu oluşturulur ve rapor folder_path tarafından belirtilen konumdadır.

    • object_name için <geçiş denetim listesi raporu, folder_path2> tarafından belirtilen konumdaki tek rapordur.

Ayrıca Bkz.

In-Memory OLTP'ye Geçiş