SQL Server 2016 ‘dan 2022 Sürüm bilgileri

SQL Server 2016 ‘dan 2022 sürümüne kadar eklenen önemli işlevler ve gelişmeler hakkında bilgi sahibi olmak  Bu yazımızda SQL Server 2016 ,SQL Server 2017, SQL Server 2019, SQL Server 2022 sürümlerinin yeniliklerini nelerdir ? Bu sürümler ile göze çarpan ve ortamlara göre kullanılması gereken etkenler ne olmalıdır sorularına cevap vermeye çalışacağım SQL Server 2016 1.Always Encrypted SQL Server’da verilerin hem hareket halindeyken hem de depolandığında şifreli kalmasını sağlar. Veritabanı yöneticisi bile şifrelenmiş verilerin içeriğini göremez. Şifreleme, istemci tarafında yapılır. Kolon bazlı şifreleme desteklenir. CPU kullanımına dikkat edilmelidir. 2.Query Store Sorgu performansını izlemek, analiz etmek ve optimize etmek için güçlü bir araçtır. Özellikle performans sorunlarına neden olan sorguların takip edilmesi ve performans gerilemelerinin tespit edilmesi için kullanılır. 3.Dynamic Data Masking Dinamik Veri Maskesi, hassas verilerin görünürlüğünü sınırlandırarak yalnızca yetkili kullanıcıların verilere tam erişmesini sağlar. 4.PolyBase PolyBase, T-SQL sorgularıyla Hadoop ve Azure Blob Storage gibi harici veri kaynaklarından veri almayı sağlar. Verilere […]

SQL Server 2016 ‘dan 2022 Sürüm bilgileri

SQL Server 2016 ‘dan 2022 sürümüne kadar eklenen önemli işlevler ve gelişmeler hakkında bilgi sahibi olmak 

Bu yazımızda SQL Server 2016 ,SQL Server 2017, SQL Server 2019, SQL Server 2022 sürümlerinin yeniliklerini nelerdir ?

Bu sürümler ile göze çarpan ve ortamlara göre kullanılması gereken etkenler ne olmalıdır sorularına cevap vermeye çalışacağım

SQL Server 2016

1.Always Encrypted

SQL Server’da verilerin hem hareket halindeyken hem de depolandığında şifreli kalmasını sağlar.

Veritabanı yöneticisi bile şifrelenmiş verilerin içeriğini göremez.

Şifreleme, istemci tarafında yapılır.

Kolon bazlı şifreleme desteklenir.

CPU kullanımına dikkat edilmelidir.

2.Query Store

Sorgu performansını izlemek, analiz etmek ve optimize etmek için güçlü bir araçtır. Özellikle performans sorunlarına neden olan sorguların takip edilmesi ve performans gerilemelerinin tespit edilmesi için kullanılır.

3.Dynamic Data Masking

Dinamik Veri Maskesi, hassas verilerin görünürlüğünü sınırlandırarak yalnızca yetkili kullanıcıların verilere tam erişmesini sağlar.

4.PolyBase

PolyBase, T-SQL sorgularıyla Hadoop ve Azure Blob Storage gibi harici veri kaynaklarından veri almayı sağlar.

Verilere SQL Server üzerinden sorgu yapmanıza olanak tanır.

5.Stretch Database

Stretch Database, sıcak (hot) verileri SQL Server’da tutarken, daha az erişilen soğuk (cold) verileri Azure’a taşıyarak veritabanının depolama maliyetlerini azaltır.

Veritabanı hem yerel hem de bulut ortamında çalışır.

6.JSON Desteği

SQL Server 2016, JSON formatını destekleyerek JSON verilerini SQL Server’da kolayca saklamanızı, sorgulamanızı ve işleyebilmenizi sağlar.

JSON verileri SQL’e dönüştürülebilir veya tersi yapılabilir.

7.Temp İyileştirmeleri

SQL Server 2016, Temp için önerilen dosya yapılandırmalarını iyileştirmiştir. Birden fazla Temp veri dosyası (data files) oluşturmak, özellikle büyük ve karmaşık sorgularla çalışan sistemlerde I/O (Girdi/Çıktı) darboğazlarını azaltır.

8.Yedekleme ve Geri Yükleme Geliştirmeleri
  • Backup Encryption (Yedekleme Şifreleme)
  • Improved Backup Compression (Yedekleme Sıkıştırma İyileştirmeleri)
  • Backup and Restore with Filegroups (Dosya Grupları ile Yedekleme ve Geri Yükleme)
  • PITR (Point-In-Time Restore) İyileştirmeleri
  • Delayed Durability (Gecikmeli Dayanıklılık)
  • Backup and Restore for the Entire Instance (Tüm Sunucu İçin Yedekleme ve Geri Yükleme)
  • Yedekleme İçin Dosya (File-Level) Yedekleme
  • Online Backup (Çevrimiçi Yedekleme)
  • Yedekleme İzleme ve Performans İyileştirmeleri

 

SQL Server 2017

  1. Linux Desteği

SQL Server 2017 ile gelen en büyük yeniliklerden biri Linux işletim sisteminde çalışabilme özelliğidir. Artık SQL Server, yalnızca Windows üzerinde değil, aynı zamanda Linux üzerinde de çalışabilir.

  1. Python Desteği (Machine Learning Services)

Machine Learning Services altında Python desteği eklemiştir. Python, veritabanı içindeki verilerle doğrudan etkileşim kurarak veri analizi ve makine öğrenimi modelleri geliştirmeyi sağlar.

  1. High Availability and Disaster Recovery (Yüksek Erişilebilirlik ve Felaket Kurtarma) İyileştirmeleri

Özellikle Always On Availability Groups ve Windows Server Failover Clustering (WSFC) özelliklerinin optimizasyonları dikkat çekmektedir.

SQL Server 2017 ile failover işlemleri hızlanmıştır. Birincil sunucu arızalandığında, ikincil sunucuya geçiş süresi çok daha kısa sürmektedir. Bu, kesintisiz erişim sağlar ve iş sürekliliğini garanti eder.

  1. Adaptive Query Processing (Uyarlanabilir Sorgu İşleme)

sorgu planlarını daha dinamik bir şekilde optimize etmek, parametre değerlerinin değişken olduğu durumlarda sorgu performansını iyileştirir.

SQL Server 2019

  1. Intelligent Query Processing

  • Batch Mode on Rowstore

Eskiden Batch Mode, yalnızca Columnstore Index kullanılan sorgularda devreye girerken, SQL Server 2019 ile Rowstore (klasik satır tabanlı depolama) için de kullanılabilir.

Row Mode : Her seferinde bir satır işlenir.

Batch Mode : 64 KB’lik veri grupları (batch) halinde işlenir.

  • Adaptive Joins

Sorgu çalışma zamanında (runtime) Nested Loop Join veya Hash Join arasında dinamik olarak seçim yaparak daha verimli bir plan ortaya çıkarır.

SQL Server önceden tahmin edilen satır sayısına (cardinality estimate) göre bir eşik değeri (threshold) belirler.

Çalışma zamanında (runtime) küçük veri kümeleri tespit edilirse Nested Loop Join kullanılır. Büyük veri kümeleri tespit edilirse HASH JOİN kullanılır.

  • Memory Grant Feedback

SQL Server’da bir sorgu çalıştırıldığında, sort (sıralama), hash join veya hash aggregate işlemleri için belirli bir miktarda bellek tahsis edilir.

yanlış tahmin edilen satır sayıları nedeniyle bazen bellek tahsisi gereğinden fazla veya yetersiz olabilir.

Memory Grant Feedback bir sorgunun ilk çalıştırılmasında bellek tahsisinin doğru olup olmadığını analiz eder ve sonraki çalıştırmalarda bellek tahsisini otomatik olarak ayarlar.

Fazla Bellek Ayrılması: Sistem kaynakları boşa harcanır, diğer sorgular için yetersiz bellek kalabilir.

Eksik Bellek Ayrılması: Bellek yetersiz olduğunda temp (disk) kullanılır, bu da sorgu performansını düşürür.

  • Table Variable Deferred Compilation

SQL Server 2017 ve önceki sürümlerde, tablo değişkenleriyle çalışan sorgular derleme (compilation) aşamasında sabit bir satır tahmini (genellikle 1 satır) olarak değerlendirilir.

Eğer tablo değişkeni aslında binlerce satır içeriyorsa, yanlış bir Nested Loop Join veya Index Seek gibi hatalı planlar seçilebilir.

Kötü performans nedeniyle gereksiz temp kullanımı veya gereksiz disk IO oluşabilir.

SQL Server 2019 ile sorguyu çalıştırırken tablo değişkeninin içindeki satır sayısını belirler.

Bu özellik sayesinde Query Optimizer, artık tablo değişkenlerini statik 1 satır gibi görmez, gerçek satır sayısını hesaba katar!

  1. Otomatik Veritabanı Kurtarma (Accelerated Database Recovery – ADR)

Geleneksel kurtarma süreci üç ana aşamadan oluşur:

Analysis (Analiz): Transaction log’un tamamı okunur ve geri alınması veya tamamlanması gerekir.

Redo (Yeniden İşleme): Committed işlemler tekrar yürütülerek veri tutarlılığı kontrol edilir.

Undo (Geri Alma): Tamamlanmamış (rollback edilmesi gereken) işlemler geri alınır.

örneğin milyonlarca satır içeren bir DELETE işlemi  sistem çökerse veya yeniden başlatılırsa kurtarma süreci çok uzun sürecektir bu durum da UNDO aşaması zaman alacaktır.

ADR’ne işe yarar ADR adımları şunlardır.

  • (Persisted Version Store – PVS)

Değiştirilen her satırın eski versiyonları PVS (Persisted Version Store) içinde saklanır.

Böylece, bir işlem geri alınmak zorunda kalırsa, SQL Server logları baştan taramak yerine bu versiyonları kullanarak hızlı rollback yapabili

  • Logical Revert

Bir işlem rollback edildiğinde, undo işlemi logları değil PVS’yi kullanarak anında tamamlanır.

  • Instant Rollback

Büyük işlemlerin geri alınmasını anında yapar. UNDO aşaması artık gereksiz hale gelir.

  1. Büyük Veri Kümeleri (Big Data Clusters – BDC)

Spark ve HDFS entegrasyonu ile Büyük veri kümeleri ile çalışmaya olanak tanır.

Hem ilişkisel (structured) hem de ilişkisel olmayan (unstructured) verileri tek bir platformda yönetir.

HDFS, Apache Spark ve SQL Server aynı sistemde çalışır.

  1. Memory-Optimized Temp Metadata

SQL Server 2019, TempD’nin meta verisini bellek içinde saklayarak bu darboğazı azaltan bir özelliktir.

bellek içi hale getirilen  önemli temp işlemleri

System Tables  Geçici tablolar

Allocation Pages (GAM, SGAM, PFS) Page tahsisleri

Object Allocation Metadata Sys.allocation_units vb gibi tablolar

Amaç :I/O yükü azalır . Temp LATCH beklemeleri yaşanmaz. İşlemci ve bellek optimizasyonu sağlar

SQL Server 2022

  1. Query Store for Cardinality Estimation

SQL Server, Query Store üzerinden cardinality estimation hatalarını takip eder ve bu hatalar nedeniyle ortaya çıkan performans sorunlarını raporlar.

Hatalı Sorgu Planlarını Tespit Etme

Alternatif Plan Seçimi

Plan İyileştirmeleri

Query Store’da yanlış cardinality estimation hataları tespit edilirse, SQL Server bu hatalı planları değiştirebilir ve alternatif sorgu planları önerilebilir. Bu sayede daha verimli planlar seçilir.

  1. Contained Database Authentication(Database Seviyesinde LOGİN Olma)

SQL Server 2022’de veritabanı düzeyinde kimlik doğrulama işlemleri yapılmasını sağlar.

Kullanıcıların kimlik bilgileri veritabanı içinde saklanır. Bu, veritabanının farklı sunuculara taşınması sırasında kimlik bilgileriyle ilgili sorunları ortadan kaldırır.

Bu özellik, veritabanı taşıma ve veritabanı yedekleme işlemleri sırasında daha esnek bir yapı sağlar.

  1. Improved Backup and Restore

SQL Server 2022, veritabanı yedekleme işlemlerini gerçek zamanlı izleyebilir ve yedekleme işlemleri sırasında oluşan değişiklikleri dinamik olarak yakalayabilir.

üyük veritabanları için daha hızlı yedekleme yapılabilmesi adına yedekleme dosyaları parçalara bölünebilir.

Backup Verification SQL Server 2022, yedekleme işlemi sırasında veri bütünlüğünü sürekli kontrol eder

  1. Extended Availability Groups (EAG)

Always On AG özelliklerinde, genellikle maksimum 8 replikaya kadar destek vardır. Ancak Extended Availability Groups ile, ekstra replikalar eklenebilir.

  • Fiziksel olarak farklı konumlarda iki ayrı cluster tutarak felaket kurtarma stratejisi oluşturabilirsiniz.
  • Bir bölgedeki çökme diğer bölgeyi etkilemez, çünkü iki farklı Failover Cluster Instance (FCI) bağımsız şekilde yönetilir.
  • SQL Server 2022’de, Extended Availability Groups farklı domain’ler arasında da çalışabilir.
  • İki farklı ağ (subnet) üzerinde cluster barındırabilirsiniz.
Benzer Yazılar

User-Defined Functions(Kullanıcı Tanımlı Fonksiyonlar)

SQL Server 17 saat önce

User-Defined Functions(Kullanıcı Tanımlı Fonksiyonlar) SQL Server 2000 ile gelen bir özelliktir.İçindekilerTable-Valued Functions (Tablo Değerli Fonksiyonlar)Scalar Functions (Skalar Fonksiyonlar)Inline Table-Valued Functions (Satır İçi Tablo Değerli Fonksiyonlar) Bu yazımda ihtiyaçlar doğrultusunda kendinize ait raporlamaları aralıklı günlere göre yada istediğiniz değerlere göre ihtiyaçlarınızı karşılayabilirsiniz. Başlıktanda anlaşıldığı gibi kullanıcıların ihtiyaçlarına göre kendilerine ait fonksiyonlarını oluşturabileceklerdir. 3 çeşit fonksiyon vardır. Table-Valued Functions (Tablo Değerli Fonksiyonlar) Viewlerle büyük benzerlikler içerir ancak farklı olarak dışarıdan parametre alabilirler. belirli bir tarih aralığındaki verileri dondurmek istediğimizde ve büyük verileri sorgulamak istediğimizde kullanılır. Örnek olarak 2 tarih arasındaki verileri döndürmek CREATE FUNCTION dbo.fn_SalesBaslaBitisTarih (@startDate DATE, @endDate DATE) RETURNS TABLE AS RETURN ( SELECT * —-Yada istenilen kolonlar FROM Sales WHERE OrderDate BETWEEN @startDate AND @endDate — ekstra koşul eklenebilir ) SELECT * FROM dbo.fn_ SalesBaslaBitisTarih (‘2025-01-01’, ‘2025-03-01’) Bu sorgu, 2025-01-01 ile 2025-03-01 arasındaki tüm verileri listeleyecektir. Scalar Functions (Skalar Fonksiyonlar) Skalar fonksiyonlar birden fazla satır üzerinde işlem yapmaz; her zaman […]

İndexed(Materialized) Views nedir?

SQL Server 1 hafta önce

İndexed Views nedir? Ne işe yarar? Nasıl Kullanılır?İçindekilerIndexed View Kullanım DurumlarıIndexed View Kullanımında Dikkat Edilmesi GerekenlerIndexed View Oluşturma aşamaları ve dikkat edilmesi gereken durumlar Merhabalar bu yazımda  Views ‘lere index kullanımı amaçları ve dezavantaçlarını anlatacağım. Öncelikle View’ler kullanım amacını bilmemiz gerekir. View ‘ler SQL tabloların birleşimi ile oluşturulan istenilen bilgiler(Kolonlar) göre oluşturulan raporlama işlemi diyebiliriz. Örnek olarak create view [dbo].[Ozet_Yillik_Satislar] as SELECT Satislar.SevkTarihi, Satislar.SatisID, Satis_Alt_Toplamlari.Subtotal FROM Satislar INNER JOIN Satis_Alt_Toplamlari ON Satislar.SatisID = Satis Alt Toplamlari.SatisID WHERE Satislar.SevkTarihi IS NOT NULL GO   Normalde bir view, sorgularda kullanılan verilerin sanal bir birleşimidir. Ancak indexed view oluşturulduğunda, SQL Server bu görünüme bir clustered index –non-clustered index ekler. Bu indeks, görünümün verilerini fiziksel olarak depolar ve sorgular doğrudan bu indeksi kullanarak daha hızlı bir şekilde sonuç döndürebilir. NOT: Tabiki Disk maliyetini düşünmemiz gerekir performans açısından daha iyi olması View’in artık index üzerinden işlem yapmasıdır. Indexed View Kullanım Durumları Karmaşık ve Sık Kullanılan […]

SQL Server 2000-2014 Sürümlerinin Özellikleri

SQL Server 2 hafta önce

SQL Server sürümleriyle gelen özellikler, Her sürümde eklenen önemli işlevler ve gelişmeler hakkında bilgi sahibi olmak İçindekilerSQL Server 2000 Özellikleri Bu yazımda sizlere SQL Server sürümlerinde gelen özellikler hakkında kısa ön bilgilendirme yapmak istedim.  Bu yazımız ile detaylı olarak tüm özelliklere ulaşabiliriz. SQL Server 2000 Özellikleri

0 Yorum

Yorum Yaz

Rastgele