Skip to main content

Command Palette

Search for a command to run...

SQL Server Versiyon Yükseltme Sürecinde Değişiklik Yönetimi

Published
2 min read
S

I’m a passionate software engineer specializing in SQL change management, database security, and DevOps automation. With over 17 years of experience in the banking sector, I focus on building tools and processes that make database deployments safer, more auditable, and automated.

As the creator of SQL Change Guard, I develop solutions that use risk scoring and AI-powered code analysis to detect dangerous SQL scripts before they reach production. I’m dedicated to helping teams minimize downtime and data loss through smarter change governance.

When I’m not coding, I enjoy sharing insights about secure development practices, WPF desktop applications, and integrating modern CI/CD pipelines.

Feel free to connect or reach out at info@sqlchangeguard.com

SQL Server 2016'dan 2022'ye geçiş. Kulağa tek seferlik bir operasyon gibi gelir. Ama yanlış yönetildiğinde aylarca süren bir sorun kaynağına dönüşebilir.


Neden Bu Kadar Karmaşık?

Versiyon yükseltme tek bir değişiklik değil, yüzlerce potansiyel değişikliğin tetikleyicisi.

Yeni versiyonda deprecated olan özellikler var mı? Mevcut stored procedure'ler yeni versiyonla uyumlu mu? Uygulama katmanı yeni SQL Server sürücüsünü destekliyor mu? Üçüncü taraf araçlar yeni versiyonla çalışıyor mu?

Bu soruların cevabını bilmeden yükseltme yapmak, gözleri kapalı yürümek gibi.


Yükseltme Öncesi Yapılması Gerekenler

Mevcut durumu belgeleyin

Yükseltme öncesinde veritabanı şemasının tam bir anlık görüntüsünü alın. Tüm nesneler, yetki yapısı, job'lar, linked server'lar. Bu belge yükseltme sonrası karşılaştırma için şart.

Deprecated özellikleri tespit edin

sql

SELECT
    instance_name AS OzellikAdi,
    cntr_value AS KullanımSayisi
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Deprecated%'
    AND cntr_value > 0
ORDER BY cntr_value DESC;

Bu sorgu mevcut veritabanında kullanılan ama yeni versiyonda kaldırılmış özellikleri listeler. Her biri ayrı bir değişiklik kalemi.

Uyumluluk seviyesini kademe kademe yükseltin

Direkt SQL Server 2016'dan 2022'ye geçmek yerine uyumluluk seviyesini kademeli yükseltmek riskleri küçük parçalara böler.

sql

-- Mevcut uyumluluk seviyesini kontrol et
SELECT name, compatibility_level FROM sys.databases;

-- Uyumluluk seviyesini adım adım yükselt
ALTER DATABASE VeritabaniAdi SET COMPATIBILITY_LEVEL = 140; -- SQL 2017
-- Test et
ALTER DATABASE VeritabaniAdi SET COMPATIBILITY_LEVEL = 150; -- SQL 2019
-- Test et
ALTER DATABASE VeritabaniAdi SET COMPATIBILITY_LEVEL = 160; -- SQL 2022

Test Stratejisi

Versiyon yükseltme testi üç katmanda yapılmalı.

Fonksiyonel test: Tüm stored procedure'ler çalışıyor mu, beklenen sonuçları veriyor mu?

Performans testi: Yeni Query Optimizer bazen farklı sorgu planları seçer. Yükseltme sonrası kritik sorguların execution plan'larını karşılaştırın.

Entegrasyon testi: Uygulamalar, raporlar, üçüncü taraf araçlar yeni versiyonla sorunsuz çalışıyor mu?


Rollback Planı

Versiyon yükseltmesi geri alınamaz bir operasyondur. Bir kez yükseltilince downgrade yapılamaz, sadece backup'tan geri dönülebilir.

Bu nedenle yükseltme öncesinde tam backup alınmalı ve o backup'tan restore test edilmiş olmalı. "Gerekirse geri döneriz" değil, "şu kadar sürede geri dönebiliriz" şeklinde net bir plan olmalı.


Sonuç

Versiyon yükseltme değişiklik yönetiminin en karmaşık senaryolarından biri. Belgeleme, kademeli geçiş ve kapsamlı test bu karmaşıklığı yönetilebilir hale getirir.

Detaylı bilgi için: sqlchangeguard.com

More from this blog

S

SQL Change Guard

81 posts