Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri
Azure SQL Veritabanı
Azure Synapse Analytics
Analytics Platform Sistemi (PDW)
SQL Server'ın eski bir sürümünden SQL Server 2014 (12.x) veya daha yeni bir sürümüne geçiş yaparken ve veritabanı uyumluluk düzeyini en son kullanılabilir sürüme yükseltirken, bir iş yükü performans gerileme riskiyle karşı karşıya kalabilir. Bu, SQL Server 2014 (12.x) ile daha yeni bir sürüm arasında yükseltme yaparken daha az bir ölçüde de mümkündür.
SQL Server 2014 'den (12.x) başlayarak ve her yeni sürümde tüm sorgu iyileştirici değişiklikleri en son veritabanı uyumluluk düzeyine geçirilir, bu nedenle yürütme planları yükseltme sırasında değil, kullanıcı COMPATIBILITY_LEVEL
veritabanı seçeneğini en son kullanılabilir seçenekle değiştirdiğinde değişir. SQL Server 2014'te (12.x) kullanıma sunulan sorgu iyileştirici değişiklikleri hakkında daha fazla bilgi için bkz. Kardinalite Tahmin Aracı. Uyumluluk düzeyleri ve bunların yükseltmeleri nasıl etkileyebileceği hakkında daha fazla bilgi için bkz. Uyumluluk Düzeyleri ve Veritabanı Altyapısı Yükseltmeleri.
Veritabanı uyumluluk düzeyinin sağladığı bu geçit özelliği, Sorgu Deposu ile birlikte kullanıldığında, yükseltme işleminin aşağıda görülen önerilen iş akışına uygun biçimde yapılması halinde sorgu performansı üzerinde yüksek derecede kontrol sağlar. Uyumluluk düzeyini yükseltmek için önerilen iş akışı hakkında daha fazla bilgi için bkz. Veritabanı Uyumluluk Modunu Değiştirme ve Sorgu Deposukullanma.
Yükseltmeler üzerindeki bu denetim, otomatik ayarlama sunulduğu SQL Server 2017 (14.x) ile daha da geliştirilmiştir ve yukarıdaki önerilen iş akışında son adımın otomatikleştirilmesine olanak tanır.
SQL Server Management Studio v18'den başlayarak, yeni
Önemli
QTA kullanıcı iş yükü oluşturmaz. QTA'yı uygulamalarınız tarafından kullanılmayan bir ortamda çalıştırıyorsanız, hedeflenen SQL Server Veritabanı Altyapısı'nda temsili test iş yükünü başka yollarla yürütmeye devam edebilirsiniz.
QTA'nın başlangıç noktası, SQL Server'ın önceki bir sürümündeki bir veritabanının taşındığını varsayar (CREATE DATABASE ... aracılığıyla... FOR ATTACH veya RESTORE) öğesini SQL Server Veritabanı Altyapısı'nın daha yeni bir sürümüne ekleyin ve yükseltme öncesi veritabanı uyumluluk düzeyi hemen değiştirilmez. QTA aşağıdaki adımlarda yol gösterir:
Veritabanı ekleme hakkında daha fazla bilgi için bkz. Veritabanı Ayırma ve Ekleme.
QTA'nın yukarıda görülen Sorgu Deposu kullanarak uyumluluk düzeyini yükseltmek için önerilen iş akışının yalnızca son adımlarını nasıl değiştirdiğini aşağıda görebilirsiniz. QTA, şu anda verimsiz olan yürütme planı ile bilinen son iyi yürütme planı arasında seçim yapma seçeneğine sahip olmak yerine, ayarlanmış yürütme planlarıyla yeni bir geliştirilmiş durum oluşturmak üzere seçilen gerilenen sorgulara özgü ayarlama seçenekleri sunar.
QTA kullanarak önerilen veritabanı yükseltme iş akışını kullanılarak önerilen veritabanı yükseltme iş akışı
QTA yalnızca Sorgu Deposu'ndan yürütülebilen SELECT
sorguları hedefler. Derlenen parametre biliniyorsa parametreleştirilmiş sorgular uygundur. Geçici tablolar veya tablo değişkenleri gibi çalışma zamanı yapılarına bağlı sorgular şu anda uygun değildir.
QTA, Kardinalite Tahmin Aracı (CE) sürümlerindeki değişiklikler nedeniyle sorgu regresyonlarının bilinen olası desenlerini hedefler. Örneğin, bir veritabanını SQL Server 2012 (11.x) ve veritabanı uyumluluk düzeyi 110'dan SQL Server 2017'ye (14.x) ve veritabanı uyumluluk düzeyi 140'a yükseltirken, bazı sorgular özellikle SQL Server 2012(11.x) (CE 70) içinde bulunan CE sürümüyle çalışacak şekilde tasarlandıklarından gerileyebilir. Bu, CE 140'tan CE 70'e geri dönmenin tek seçenek olduğu anlamına gelmez. Yalnızca daha yeni sürümdeki belirli bir değişiklik regresyona neden oluyorsa, bu sorgunun daha yeni CE sürümlerine yönelik diğer tüm iyileştirmeleri kullanırken belirli bir sorgu için daha iyi çalışan önceki CE sürümünün yalnızca ilgili bölümünü kullanması için ipucu vermek mümkündür. Ayrıca iş yükünde gerilemeyen diğer sorguların daha yeni CE geliştirmelerinden yararlanmasına da izin verin.
QTA tarafından aranan CE desenleri şunlardır:
USE HINT ('ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES')
bağıntıyı hesaba katacak filtrelerin AND
koşullarını tahmin ederken en düşük seçiciliği kullanarak SQL Server'ın yürütme planı oluşturmasına neden olur. Daha fazla bilgi için bkz. USE HINT ('ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS')
SQL Server'ın varsayılan Temel Kapsama varsayımı yerine Basit Kapsama varsayımını kullanarak bir yürütme planı oluşturmasına neden olur. Daha fazla bilgi için USE HINT sorgu ipuçlarına ve CE sürümleri .QUERYTRACEON 9488
bir yürütme planı oluşturmak için kullanılır. MSTVF'ler hakkında daha fazla bilgi için bkz. Kullanıcı Tanımlı İşlevler Oluşturma (Veritabanı Altyapısı).Not
Son çare olarak, dar kapsamlı ipuçları uygun sorgu desenleri için yeterince iyi sonuçlar vermiyorsa, sorgu ipucu USE HINT ('FORCE_LEGACY_CARDINALITY_ESTIMATION')
kullanarak bir yürütme planı oluşturmak için CE 70'in tam kullanımı da dikkate alınır.
Önemli
Herhangi bir ipucu, gelecekteki SQL Server güncelleştirmelerinde ele alınabilecek bazı davranışları zorlar. İpuçlarını yalnızca başka bir seçenek olmadığında uygulamanızı ve her yeni güncellemede ipuçlarıyla işaretlenmiş kodu tekrar gözden geçirmeyi planlamanızı öneririz. Davranışları zorlayarak, iş yükünüzün SQL Server'ın daha yeni sürümlerinde sunulan geliştirmelerden yararlanmasını engelleyebilirsiniz.
QTA, oturum durumunu, oturumun ilk kez oluşturulduğu kullanıcı veritabanının msqta
şemasında depolayan oturum tabanlı bir özelliktir. Zaman içinde tek bir veritabanında birden çok ayarlama oturumu oluşturulabilir, ancak herhangi bir veritabanı için yalnızca bir etkin oturum bulunabilir.
SQL Server Management Studio'da Nesne Gezgini'ni açın ve Veritabanı Altyapısı'na bağlanın.
Veritabanı uyumluluk düzeyini yükseltmesi amaçlanan veritabanı için, veritabanı adına sağ tıklayın, Görevler
QTA Sihirbazı penceresinde, oturumu yapılandırmak için iki adım gerekir:
Kurulum penceresinde Sorgu Deposu'nu, analiz etmek ve ayarlamak için iş yükü verilerinin tam iş döngüsünün eşdeğerini yakalayacak şekilde yapılandırın.
Ayarlar penceresinde, hedeflenen veritabanındaki Sorgu Deposu'nun geçerli durumu ile önerilen ayarlarını gösteren iki sütun bulunur.
yeni veritabanı yükseltme ayarları penceresi
Önemli
Önerilen En Büyük Boyut, kısa süreli iş yükü için uygun olabilecek rastgele bir değerdir. Bununla birlikte, çok yoğun iş yükleri için taban çizgisi ve veritabanı sonrası yükseltme iş yükleri hakkında bilgi tutmanın yetersiz olabileceğini,yani birçok farklı plan oluşturulabileceğini unutmayın. Bunun böyle olacağını düşünüyorsanız, uygun olan daha yüksek bir değer girin.
Ayarlama penceresi oturum yapılandırmasını sonlandırıyor ve oturumu açmak ve devam etmek için sonraki adımları yönlendiriyor. İşlem tamamlandıktan sonra Sonöğesini seçin.
Veritabanı uyumluluk düzeyini yükseltmesi amaçlanan veritabanı için, veritabanı adına sağ tıklayın, Görevler
oturum yönetimi sayfasında, kapsamdaki veritabanı için geçerli ve geçmiş oturumlar listelenir. İstediğiniz oturumu seçin ve Ayrıntılarseçin.
Not
Mevcut oturum yoksa Yenile düğmesini seçin.
Liste aşağıdaki bilgileri içerir:
QTA Oturum Yönetimi sayfası
Not
Oturumu Sil seçili oturum için depolanan tüm verileri siler. Ancak, kapalı oturumu silmek daha önce dağıtılan plan kılavuzlarını silmez. Plan kılavuzlarını dağıtmış bir oturumu silerseniz, geri almak için QTA'yı kullanamazsınız. Bunun yerine, sys.plan_guides sistem tablosunu kullanarak plan kılavuzlarını arayın ve sp_control_plan_guidekullanarak el ile silin.
Yeni oturumun giriş noktası Veri Toplama adımıdır.
Not
Oturumlar düğmesi oturum yönetimi sayfasına döner ve etkin oturumu as-isbırakır.
Bu adımda üç alt adım vardır:
Temel Veri Toplama kullanıcıdan temsili iş yükü döngüsünü çalıştırmasını isteyin; böylece Sorgu Deposu bir temel toplayabilir. İş yükü tamamlandıktan sonra, İş yüküyle bitti ifadesini kontrol edin ve İleriseçin.
Not
İş yükü çalışırken QTA penceresi kapatılabilir. Daha sonra etkin durumda kalan oturuma geri dönmek, kaldığı adımdan devam eder.
Veritabanını Yükselt, veritabanı uyumluluk düzeyini istenen hedefe yükseltmek için izin ister. Sonraki alt adıma geçmek için evet
Aşağıdaki sayfa, veritabanı uyumluluk düzeyinin başarıyla yükseltildiğini onaylar.
Gözlemlenen Veri Toplama kullanıcıdan temsili iş yükü döngüsünü yeniden çalıştırmasını isteyebilir, böylece Sorgu Deposu iyileştirme fırsatlarını aramak için kullanılacak karşılaştırmalı bir temel toplayabilir. İş yükü yürütülürken, Yenile düğmesini kullanarak gerileyen sorguların listesini (varsa) güncelleştirmeye devam edin. Görüntülenen sorgu sayısını sınırlamak için Sorgular'ı değeri gösterecek şekilde değiştirin. Listenin sırası, Ölçüm (Süre veya CpuTime) ve Toplama (Ortalama varsayılandır) tarafından etkilenir. Ayrıca,gösterilecek
Liste aşağıdaki bilgileri içerir:
Çözümlemeyi Görüntüle, deneme ve iyileştirme fırsatlarını bulmak için hangi sorguların seçildiğine olanak tanır. değeri göstermek için
Not
Ayarlanabilir değeri Yanlış olan sorgular deney için seçilemez.
Önemli
Bir istem, QTA deneme aşamasına geçtikten sonra Çözümlemeyi Görüntüle sayfasına geri dönmenin mümkün olmadığını önerir.
Deneme aşamasına geçmeden önce tüm uygun sorguları seçmezseniz, daha sonra yeni bir oturum oluşturmanız ve iş akışını yinelemeniz gerekir. Bunun için veritabanı uyumluluk düzeyinin önceki değere sıfırlanması gerekir.
Bulguları Görüntüle, önerilen iyileştirmeyi plan kılavuzu olarak dağıtmak için hangi sorguların seçildiğine izin verir.
Liste aşağıdaki bilgileri içerir:
Doğrulama, bu oturum için daha önce seçilen sorguların dağıtım durumunu gösterir. Bu sayfadaki liste, Dağıtılabilir sütununu Geri Alabilirolarak değiştirerek önceki sayfadan farklıdır. Bu sütun, dağıtılmış sorgu iyileştirmesinin geri alınabilirliği ve plan kılavuzunun kaldırılabilmesine bağlı olarak True veya False olabilir.
Daha sonraki bir tarihte önerilen iyileştirmeyi geri almanız gerekiyorsa ilgili sorguyu seçin ve Geri Almaöğesini seçin. Bu sorgu planı kılavuzu kaldırılır ve geri alınan sorguyu kaldırmak için liste güncelleştirilir. Aşağıdaki resimde 8 sorgusunun kaldırıldığına dikkat edin.
Not
Kapalı oturumun silinmesi daha önce dağıtılan plan kılavuzlarını silmez. Plan kılavuzlarını dağıtmış bir oturumu silerseniz, geri alma işlemi için QTA kullanamazsınız. Bunun yerine, sys.plan_guides sistem tablosunu kullanarak plan kılavuzlarını arayın ve sp_control_plan_guidekullanarak el ile silin.
db_owner rolünün üyeliğini gerektirir.
Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunEğitim
Modül
SQL Server Sorgu Ayarlama Yardımcısı'nı kullanma - Training
Sorgu performansı istatistiklerini karşılaştırmak ve değişen uyumluluk düzeyleri nedeniyle gerileyen sorguları bulmak için Sorgu Ayarlama Yardımcısı'nın (QTA) Sorgu Deposu ile birlikte nasıl çalıştığını öğrenin.
Sertifikasyon
Microsoft Sertifikalı: Azure Veritabanı Yöneticisi Uzmanlık - Certifications
Microsoft PaaS ilişkisel veritabanı tekliflerini kullanarak bulut, şirket içi ve karma ilişkisel veritabanları için SQL Server veritabanı altyapısını yönetme.
Belgeler
Query Store Usage Scenarios - SQL Server
Learn how Query Store can be used to track and ensure predictable workload performance. Consider several examples in SQL Server.
Change the database compatibility level and use the Query Store - SQL Server
This article explains the place of using the Query Store to establish a baseline and changing the database compatibility level in a SQL Server upgrade.
Learn about automatic tuning in SQL Server and Azure SQL Database