Aracılığıyla paylaş


Uyumluluk sertifikası

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

Uyumluluk sertifikası, işletmelerin şirket içinde, bulutta ve uçta SQL Server veritabanını yükseltmesine ve modernleştirmesine olanak sağlayarak uygulama uyumluluğu risklerini ortadan kaldırır.

Aynı Veritabanı Altyapısı hem SQL Server'ı hem de Azure SQL Veritabanı'nı (Azure SQL Yönetilen Örneği dahil) destekler. Bu paylaşılan Veritabanı Altyapısı, kullanıcı veritabanının şirket içi SQL Server ile Azure SQL Veritabanı arasında sorunsuz bir şekilde taşınabileceği, Transact-SQL olarak veritabanında yürütülen uygulama kodunun ise kaynak sisteminde olduğu gibi çalışmaya devam ettiği anlamına gelir.

SQL Server'ın her yeni sürümü için varsayılan uyumluluk düzeyi Veritabanı Altyapısı sürümüne ayarlanır. Ancak, mevcut uygulamaların sürekli uyumluluğu için önceki sürümlerin uyumluluk düzeyi korunur. Daha fazla bilgi için uyumluluk matrisine bakın. Bu nedenle, belirli bir SQL Server sürümüyle çalışması onaylanan bir uygulama aslında bu sürümün varsayılan uyumluluk düzeyi üzerinde çalışmak üzere sertifikalıydı.

Örneğin, SQL Server 2016'da (13.x) veritabanı uyumluluk düzeyi 130 varsayılandı. Uyumluluk düzeyleri belirli Transact-SQL işlevsel ve sorgu iyileştirme davranışlarını zorladığından, SQL Server 2016 (13.x) üzerinde çalışması onaylanan bir veritabanı, veritabanı uyumluluk düzeyi 130'da örtük olarak onaylanmıştır. Bu veritabanı, veritabanı uyumluluk düzeyi 130 olarak tutulduğu sürece SQL Server'ın (SQL Server 2019 (15.x) ve Azure SQL Veritabanı gibi daha yeni bir sürümünde as-is çalışabilir.

Bu, Microsoft Azure SQL Veritabanı sürekli tümleştirme işlemi modeli için temel bir ilkedir. Veritabanı Altyapısı, Azure'da sürekli olarak iyileştirilir ve yükseltilir, ancak mevcut veritabanları geçerli uyumluluk düzeylerini koruyacağından, temel alınan Veritabanı Altyapısı'na yükseltmelerden sonra bile tasarlandığı gibi çalışmaya devam eder.

SharePoint Server 2016 ve SharePoint Server 2019, SQL Server ve Azure SQL Yönetilen Örneği ile uyumluluğu bu şekilde kanıtlar. Bu SharePoint Server sürümleri için desteklenen veritabanı uyumluluk düzeylerini kullanan herhangi bir SQL Server Veritabanı Altyapısı dağıtabilirsiniz. Daha fazla bilgi için bkz . SharePoint Server 2016 için donanım ve yazılım gereksinimlerive SharePoint Server 2019 için donanım ve yazılım gereksinimleri.

Uyumluluk sertifikası ile yükseltme riskini yönetme

Uyumluluk Sertifikası'nın kullanılması, veritabanı modernleştirmesi için değerli bir yaklaşımdır. Geliştiriciler uyumluluk düzeyine göre onayladığında, bir uygulamanın SQL Server ve Azure SQL Veritabanı'nda desteklenmesi için teknik gereksinimleri ayarlarsınız, ancak uygulama yaşam döngüsünü veritabanı platformu yaşam döngüsünden ayırırsınız. Bu, şirketlerin SQL Server Veritabanı Altyapısı'nı yaşam döngüsü ilkelerine göre gerektiği şekilde yükselterek koda bağımlı olmayan yeni ölçeklenebilirlik ve performans geliştirmeleri kullanmalarına ve uygulamaları bağlamanın işlev durumlarını yükseltmeler aracılığıyla korumalarına olanak tanır.

Herhangi bir yükseltme için temel risk faktörleri, işlevselliği ve performans sorunlarını olumsuz etkileme olasılığıdır. Uyumluluk Sertifikası, bu yükseltme risklerini yönetme açısından içiniz rahat eder:

  • Transact-SQL davranışla ilgili herhangi bir değişiklik, bir uygulamanın doğruluğu için yeniden sertifikalanması gerektiği anlamına gelir. Ancak veritabanı uyumluluk düzeyi ayarı, sql server'ın tüm sunucu için değil yalnızca belirtilen veritabanı için önceki sürümleriyle geriye dönük uyumluluk sağlar. Veritabanı uyumluluk düzeyinin as-is tutulması, mevcut uygulama sorgularının Veritabanı Altyapısı yükseltmesi öncesinde ve sonrasında aynı davranışı görüntülemeye devam etmesini sağlar. Transact-SQL davranış ve uyumluluk düzeyleri hakkında daha fazla bilgi için bkz. Geriye dönük uyumluluk için uyumluluk düzeylerini kullanma.

  • Performansla ilgili olarak, Sorgu İyileştirici'deki iyileştirmeler her sürümle birlikte sunulduğundan, farklı Veritabanı Altyapısı sürümleri arasındaki sorgu planı farklılıklarıyla karşılaşması beklenebilir. Yükseltme kapsamındaki sorgu planı farklılıkları genellikle belirli bir sorgu veya iş yükü için bazı değişikliklerin zarar verici olma olasılığı olduğunda riske dönüşür. Buna karşılık, bu risk genellikle yükseltmeleri geciktirebilen ve yaşam döngüsü ile destek zorlukları oluşturabilen uygulama yeniden onaylama gereksinimini yönlendiren risktir.

    Yükseltme risklerini azaltmak, Sorgu Optimizasyonu iyileştirmelerinin yeni bir sürümün varsayılan uyumluluk düzeyine (başka bir deyişle, herhangi bir yeni sürüm için kullanılabilen en yüksek uyumluluk düzeyine) bağlı olmasıdır. Uyumluluk Sertifikası , sorgu planı şekil korumasını içerir: Veritabanı Altyapısı yükseltmesinin hemen ardından as-isveritabanı uyumluluk düzeyini korumanın, yeni sürümde yükseltmeden önce olduğu gibi aynı sorgu iyileştirme modelini kullanmaya çevrildiği ve sorgu planı şeklinin değişmemesi gerektiğine ilişkin bir yaklaşımdır.

    Daha fazla bilgi için bu makalenin Neden sorgu planı şekli? bölümüne bakın.

Uyumluluk düzeyleri hakkında daha fazla bilgi için bkz. Geriye dönük uyumluluk için uyumluluk düzeylerini kullanma.

Belirli bir uyumluluk düzeyi için zaten sertifikalı olan mevcut bir uygulama için SQL Server Veritabanı Altyapısı'nı yükseltin ve önceki veritabanı uyumluluk düzeyini koruyun . Bu senaryoda bir uygulamayı yeniden onaylamanız gerekmez. Daha fazla bilgi için bu makalenin devamında yer alan Uyumluluk düzeyleri ve Veritabanı Altyapısı yükseltmeleri bölümüne bakın.

Yeni geliştirme çalışmaları için veya mevcut bir uygulama Akıllı sorgu işleme ve bazı yeni Transact-SQL gibi yeni özelliklerin kullanılmasını gerektirdiğinde, veritabanı uyumluluk düzeyini SQL Server'da kullanılabilen en son sürüme yükseltmeyi planlayın ve uygulamanızı bu uyumluluk düzeyiyle çalışacak şekilde yeniden onaylayın. Veritabanı uyumluluk düzeyini yükseltme hakkında daha fazla bilgi için bkz. Veritabanı Uyumluluk Düzeyini yükseltmeye yönelik en iyi yöntemler.

Neden sorgu planının biçimi?

Sorgu planı şekli, bir sorgu planını oluşturan çeşitli işleçlerin görsel gösterimini ifade eder. Buna aramalar, taramalar, birleştirmeler ve sıralamalar gibi işleçlerin yanı sıra veri akışını ve hedeflenen sonuç kümesini oluşturmak için yürütülmesi gereken işlemlerin sırasını gösteren bağlantılar da dahildir. Sorgu planı şekli Sorgu İyileştiricisi tarafından belirlenir.

Yükseltme sırasında sorgu performansını tahmin edilebilir tutmak için temel hedeflerden biri aynı sorgu planı şeklinin kullanıldığından emin olmaktır. Bu, temel alınan Veritabanı Altyapısı'nın farklı sürümleri olsa bile, bir yükseltmeden hemen sonra veritabanı uyumluluk düzeyini değiştirmeyerek elde edilebilir. Sorgu yürütme ekosisteminde, kullanılabilir kaynaklarda önemli değişiklikler veya temel alınan verilerdeki veri dağıtımı gibi başka hiçbir şey değişmediyse, sorgunun performansı değişmeden kalmalıdır.

Ancak, yükseltmeden sonra performans üzerindeki etkileri olabilecek tek faktör sorgu planının şeklini korumak değildir. Veritabanını daha yeni bir Veritabanı Altyapısı'na taşır ve ortam değişiklikleri de yaparsanız, sorgu planı sürümler arasında aynı şekli korusa bile sorgunun performansı üzerinde hemen etkili olan faktörleri tanıtabilirsiniz. Bu ortam değişiklikleri, yeni Veritabanı Altyapısı'nın kullanılabilir bellek ve CPU kaynaklarına daha fazla veya daha az sahip olmasını, sunucu veya veritabanı yapılandırma seçeneklerinde yapılan değişiklikleri ya da sorgu planının oluşturulma şeklini etkileyen veri dağıtımı değişikliklerini içerebilir. Bu nedenle, veritabanı uyumluluk düzeyini korumanın sorgu planı şeklindeki değişikliklere karşı koruma sağlamadığını, ancak sorgu performansını etkileyen diğer çevresel yönlerden koruma sağlamadığını ve bunların bazıları kullanıcı tarafından başlatılan değişiklikler olduğunu anlamak önemlidir.

Daha fazla bilgi için bkz. Sorgu İşleme Mimarisi Kılavuzu.

Uyumluluk sertifikası avantajları

Veritabanı sertifikasının, adlandırılmış sürüm yaklaşımı yerine uyumluluk tabanlı bir yaklaşım olarak hemen birkaç avantajı vardır:

  • Uygulama sertifikasını platformdan ayırma. Paylaşılan Veritabanı Altyapısı nedeniyle, yalnızca Transact-SQL sorguları yürütmesi gereken uygulamalar için Azure ve şirket içi için ayrı sertifikasyon işlemlerinin sürdürülmesi gerekmez.

  • Veritabanı platformu modernleştirmesi sırasında uygulama ve veritabanı platformu katmanı yükseltme döngüleri daha az kesinti ve geliştirilmiş değişiklik yönetimi için ayrılabileceğinden yükseltme risklerini azaltın.

  • Kod değişikliği olmadan yükseltin. SQL Server veya Azure SQL Veritabanı'nın yeni bir sürümüne yükseltme, kaynak sistemle aynı uyumluluk düzeyini koruyarak kod değişikliği olmadan yapılabilir ve uygulamanın yalnızca daha yüksek bir veritabanı uyumluluk düzeyinde kullanılabilir iyileştirmeleri kullanması gereken zamana kadar hemen yeniden onaylamaya gerek yoktur.

  • Veritabanı uyumluluk düzeyine göre sınırlanmayan iyileştirmeleri kullanarak uygulama değişiklikleri gerektirmeden yönetilebilirliği ve ölçeklenebilirliği geliştirin. SQL Server'da şunlar yer alır:

Yeni veritabanları yine de Veritabanı Altyapısı sürümünün varsayılan uyumluluk düzeyine ayarlanır. Ancak bir veritabanı SQL Server'ın önceki sürümlerinden herhangi birinden SQL Server veya Azure SQL Veritabanı'nın yeni bir sürümüne geri yüklendiğinde veya eklendiğinde, veritabanı mevcut uyumluluk düzeyini korur.

Desteklenen uyumluluk düzeyini doğrulama

Veritabanını YENI bir SQL Server veya Azure SQL Veritabanı sürümüne taşımadan önce, veritabanı uyumluluk düzeyinin hala desteklenip desteklenmediğini doğrulayın. Veritabanı uyumluluk düzeyi destek matrisi, ALTER DATABASE uyumluluk düzeyi bağımsız değişkenlerinde görülebilir.

uyumluluk düzeyi izin verilen düzeyden düşük olan bir veritabanını yükseltmek (örneğin, SQL Server 2005'te (9.x) varsayılan değer olan 90), veritabanını izin verilen en düşük uyumluluk düzeyine (100) ayarlar.

Geçerli uyumluluk düzeyini belirlemek için compatibility_level.

Uyumluluk düzeyleri ve veritabanı altyapısı yükseltmeleri

Veritabanı Altyapısı'nı en son sürüme yükseltmek için, yükseltmeden önce var olan veritabanı uyumluluk düzeyini ve desteklenebilirlik durumunu korurken, veritabanındaki (saklı yordamlar, işlevler, tetikleyiciler ve diğerleri gibi programlanabilirlik nesneleri) ve uygulamada (uygulama tarafından gönderilen dinamik kodu yakalayan bir iş yükü izlemesi kullanarak) uygulama kodunun statik işlevsel yüzey alanı doğrulamasını gerçekleştirmeniz gerekir.

Bu, SQL Server Management Studio'daki SQL Server geçiş bileşeni kullanılarak kolayca yapılabilir. Rapor çıkışında eksik veya uyumsuz işlevsellikle ilgili hataların olmaması, uygulamayı yeni hedef sürümdeki işlevsel regresyonlardan korur. Veritabanınızın yeni sürümde çalıştığından emin olmak için değişiklikler gerekiyorsa, araç değişikliklerin nerede gerekli olduğunu ve hangi geçici çözümlerin kullanılabilir olduğunu saptamanıza olanak tanır.

Bu işlevsel doğrulama özellikle veritabanını eski bir sürümden (SQL Server 2008 R2 (10.50.x) veya SQL Server 2012 (11.x)) SQL Server veya Azure SQL Veritabanı'nın yeni bir sürümüne taşırken önemlidir, çünkü uygulama kodunuz veritabanı uyumluluk düzeyiyle korunmamış artık Transact-SQL kullanıyor olabilir. Ancak, SQL Server 2016 (13.x) gibi daha yeni bir sürümden SQL Server 2022 (16.x) veya Azure SQL Veritabanı'na geçerken, artık endişelenmeniz gereken bir Transact-SQL söz konusu değildir. Kullanımdan kaldırılan Transact-SQL hakkında daha fazla bilgi için bkz. Geriye dönük uyumluluk için uyumluluk düzeyini kullanma.

Uyarı

SQL Server geçiş bileşeni, veritabanı uyumluluk düzeyi 100 ve üzerini destekler. Kaynak sürüm olarak SQL Server 2005 (9.x) dışlanır.

Önceki veritabanı uyumluluk düzeyini korurken bir yükseltmenin başarısını doğrulamak için bazı minimum testler gerçekleştirmenizi öneririz. Kendi uygulamanız ve senaryonuz için minimum testin ne anlama geldiğini belirlemeniz gerekir.

Sorgu planı güvenliği

Microsoft, aşağıdaki durumlarda sorgu planı şekil koruması sağlar:

  • Yeni SQL Server sürümü (hedef), önceki SQL Server sürümünün (kaynak) çalıştığı donanımla karşılaştırılabilir bir donanım üzerinde çalışır.

  • Aynı desteklenen veritabanı uyumluluk düzeyi hem hedef SQL Server'da hem de kaynak SQL Server'da kullanılır.

  • Aynı veritabanı ve iş yükü hem hedef SQL Server'da hem de kaynak SQL Server'da kullanılır.

Bu koşullar altında gerçekleşen tüm sorgu planı şekil regresyonu (kaynak SQL Server ile karşılaştırıldığında) ele alınacaktır. Bu durumda Microsoft Müşteri Desteği'ne başvurun.