Merhaba
Bu yazı dizimizde Microsoft SQL Server 2025 Always On Availability Group mimarisinin kurulumunu ve yapılandırmasını detaylı şekilde inceleyecek, High Availability (Yüksek Erişilebilirlik) ve Disaster Recovery (Felaket Kurtarma) senaryolarını örnek bir mimari üzerinden açıklayacak ve üretim ortamları için gerekli tüm ön koşulları ele alacağız.
Yazı dizisi beş bölümden oluşuyor:
Bölüm 1 – Windows Server Failover Cluster (WSFC) Kurulumu
Bölüm 2 – Microsoft SQL Server 2025 Kurulumu (Bu Yazı)
Bölüm 3 – SQL Server 2025 Bileşenleri Rehberi
Bölüm 4 – Always On Ön Hazırlık ve Servis Ayarları
Bölüm 5 – Availability Group Kurulumu ve Failover Testi
Önceki yazımızda W25SQL25NOD1 ve W25SQL25NOD2 isimli Windows Server 2025 sunucularımız üzerinde Windows Server Failover Cluster (WSFC) yapısının kurulum ve yapılandırma adımlarını tamamladık.
Bu yazımızda aynı sunucular üzerinde Microsoft SQL Server 2025 kurulum adımlarını ele alıyoruz. Kurulum sırasında karşımıza çıkan bileşen (Feature) ekranındaki seçeneklerin ne işe yaradığını merak ediyorsanız, ayrıntılı açıklamalar için Bölüm 3 – SQL Server 2025 Bileşenleri Rehberi yazımıza göz atabilirsiniz.
Disk Yapılandırması
W25SQL25NOD1 isimli sunucumuz üzerinde planlanan disk yapılandırması aşağıdaki gibidir:
- E: sürücüsü DATA – veritabanlarına ait .mdf (Primary Data File) ve .ndf (Secondary Data File) dosyaları
- F: sürücüsü LOG – veritabanı .ldf (Transaction Log) dosyaları
- G: sürücüsü TEMP – TempDB veritabanı
- H: sürücüsü BACKUP – Full, Differential ve Log backup dosyaları
Bu disk ayrımı, yüksek işlem hacmine sahip ortamlarda I/O yükünün dengelenmesini sağlar, SQL Server performansını artırır ve bakım ile Disaster Recovery süreçlerini daha yönetilebilir hale getirir.

W25SQL25NOD1 isimli sunucumuz üzerinde Microsoft SQL Server 2025 kurulumunu başlatıyoruz.
SQL Server 2025 Kurulumu
Kurulum sürecini başlattığımızda karşımıza SQL Server Installation Center ekranı gelir. Installation menüsüne tıklayarak kurulum sürecini başlatıyoruz.

Installation menüsü altında yer alan New SQL Server stand-alone installation or add features to an existing installation seçeneğini işaretleyerek kurulum sürecini başlatıyoruz.

Kurulum sihirbazı devreye girerek sistem üzerinde ön hazırlık işlemlerini başlatır ve gerekli Prerequisite (Önkoşul) kontrollerini gerçekleştirir.

Edition ekranında kurulacak SQL Server 2025 sürümünün lisans modeli belirlenir. Bu ekranda hem lisans doğrulaması gerektirmeyen ücretsiz sürümler hem de lisanslı kurulum seçenekleri sunulur.
Ücretsiz Sürümler (Specify a free edition)
Specify a free edition: Bu bölümde, lisans doğrulaması gerektirmeyen ücretsiz sürümlerden biri seçilerek kurulum başlatılabilir. Özellikle test, geliştirme ve eğitim amaçlı senaryolar için esnek bir başlangıç imkanı sunar.
-
- Evaluation: Enterprise sürümünün tüm özelliklerini içeren 180 günlük değerlendirme sürümüdür. Kurulum, mimari doğrulama ve performans testleri için uygundur. Süre sonunda lisanslama yapılması zorunludur.
- Enterprise Developer: Enterprise sürümündeki tüm özellikleri birebir içerir ancak yalnızca geliştirme ve test ortamlarında kullanılmak üzere lisanslanmıştır. Production (Üretim) ortamlarında kullanımı lisans koşulları gereği yasaktır.
- Standard Developer: Standard sürümün tüm yeteneklerini geliştiricilere sunar. Daha hafif iş yükleri için geliştirme ve test süreçlerinde tercih edilir ve Production (Üretim) ortamında kullanılamaz.
- Express: Tamamen ücretsiz ve giriş seviyesi bir veritabanı çözümüdür. Öğrenme amaçlı çalışmalar, küçük ölçekli uygulamalar ve masaüstü tabanlı çözümler için idealdir. SQL Server 2025 (17.x) Express Edition ile birlikte ilişkisel veritabanı için maksimum desteklenen boyut 50 GB’a yükseltilmiştir. Ayrıca daha önce ayrı olarak sunulan Express Edition with Advanced Services (SQLEXPRADV) sürümü kaldırılmış ve bu sürümdeki tüm özellikler tek bir birleşik Express paketi altında standart olarak sunulmuştur. SQL Server Express LocalDB ise geliştiriciler için hafif, hızlı kurulan, kullanıcı modunda çalışan ve sıfır konfigürasyon gerektiren bir varyant olarak öne çıkar
Lisanslı Sürümler
- Enterprise: Maksimum performans, güvenlik ve ölçeklenebilirlik gerektiren kurumsal ortamlar için tasarlanmış en üst seviye sürümdür. Yapay zeka destekli veritabanı motoru, gelişmiş High Availability (Yüksek Erişilebilirlik) ve Disaster Recovery (Felaket Kurtarma) yetenekleri ile kritik iş yüklerini şirket içi, bulut veya hibrit ortamlarda kesintisiz şekilde çalıştırmak üzere optimize edilmiştir. Tam özellikli Always On Availability Group (birden fazla replica, okunabilir secondary, otomatik failover) yalnızca bu sürümde desteklenir.
- Standard: Performans, güvenlik ve maliyet arasında dengeli bir yapı sunar. Enterprise sürümüne kıyasla daha sade ancak kurumsal ihtiyaçları karşılayacak yeterli özellik setine sahiptir. Orta ölçekli işletmeler ve büyüyen yapılar için ideal bir tercihtir.
Lisanslama Yöntemleri
- Use pay-as-you-go billing through Microsoft Azure: Bu seçenek tercih edildiğinde SQL Server 2025 kurulumu Microsoft Azure hesabı ile ilişkilendirilir ve lisanslama pay-as-you-go (kullandıkça öde) modeliyle gerçekleştirilir. Ürün anahtarı girilmez; kullanım süresi ve kaynak tüketimi Azure üzerinden ölçülerek aylık faturalandırılır.
- Enter the product key: Geçerli bir SQL Server lisans anahtarına sahip olunması durumunda bu seçenek kullanılır. Ürün anahtarı sistem tarafından otomatik algılanabilir veya manuel olarak girilerek lisans doğrulaması tamamlanır.
-
- I have a SQL Server license with Software Assurance or SQL Software Subscription: Software Assurance veya SQL Server Subscription modeli kapsamında lisans sahibi olan kurumlar içindir. Sürüm yükseltme hakları, ek destek avantajları ve esnek kullanım senaryoları nedeniyle kurumsal ortamlarda yaygın olarak tercih edilir.
- I have a SQL Server license only: Daha önce Perpetual (Bağımsız) olarak satın alınmış bir SQL Server 2025 lisansına sahip kullanıcılar için kullanılır. Kurulum sırasında ürün anahtarı manuel olarak girilerek lisanslama işlemi tamamlanır.
-
⚠️ Express Edition ve Always On
SQL Server Express Edition, Always On Availability Group mimarisini desteklemez. Kurulum ekranında Express Edition listeleniyor olsa dahi bu sürüm; Windows Server Failover Cluster (WSFC) entegrasyonu, Availability Group oluşturma, replica, automatic failover ve listener gibi Always On bileşenlerini içermez. Bu nedenle SQL Server Express, ne Failover Cluster Instance (FCI) ne de Always On Availability Group mimarisinde kullanılabilir.
Hangi Sürüm Hangi Yüksek Erişilebilirlik Özelliğini Destekler?
Aşağıdaki tablo, SQL Server 2025 sürümlerinin yüksek erişilebilirlik yeteneklerini özetler (Kaynak: Microsoft Learn – Editions and supported features of SQL Server 2025):
| Özellik | Enterprise | Standard | Express |
|---|---|---|---|
| Always On Availability Groups (tam) | ✅ (8 secondary’e kadar, 5 senkron) | ❌ | ❌ |
| Basic Availability Groups | ❌ | ✅ (2 replica, 1 veritabanı) | ❌ |
| Always On Failover Cluster Instance (FCI) | ✅ (16 node) | ✅ (2 node) | ❌ |
| Contained / Distributed AG | ✅ | ❌ | ❌ |
| Log Shipping | ✅ | ✅ | ❌ |
| Backup Compression / Encrypted Backup | ✅ | ✅ | ❌ |

Mevcut lisansımız Perpetual License (Süresiz Lisans) bir SQL Server 2025 lisansı olduğundan I have a SQL Server license only seçeneğini işaretliyoruz ve Next ile devam ediyoruz.

License Terms ekranında I accept the license terms and Privacy Statement seçeneğini işaretleyip Next ile devam ediyoruz.

Global Rules ekranında kurulum öncesi tüm önkoşul kontrolleri doğrulanır. Tüm adımların Passed olduğunu gördükten sonra Next ile devam ediyoruz.

Install Setup Files ekranında kurulum için gerekli bileşenler ve güncelleme paketleri otomatik olarak hazırlanır.

Install Rules ekranında sistem gereksinimleri ve yapılandırmaların eksiksiz olup olmadığı kontrol edilir. Tüm adımların Passed olduğunu gördükten sonra Next ile devam ediyoruz.

Feature Selection ekranında kurulumda hangi bileşenlerin yükleneceğini belirlediğimiz kritik adımdır. Database Engine Services bileşeninin seçilmesi zorunludur; SQL Server’ın temel veritabanı işlevlerini sağlayan ana servistir.
Bu Kurulumda Seçtiğimiz Bileşenler
Always On Availability Group mimarisi için Database Engine Services ve SQL Server Replication bileşenlerini seçiyoruz. Bu iki bileşen, hem veritabanı motorunu hem de replikasyon altyapısını sağlar.
Bu kurulumda bu bileşenlerin hiçbirini seçmiyoruz; Always On için gerekli değildir.
Feature Selection ekranında Database Engine Services ve SQL Server Replication servislerini işaretliyoruz.
- Prerequisite for selected features: Seçilen bileşenlerin çalışabilmesi için kurulacak ek bağımlılıkları gösterir
- Disk Space Requirements: Seçilen özelliklerin tüketeceği disk alanını gösterir
Ekranın alt kısmında kurulum dizinleri görüntülenir:
- Instance root directory: Seçilen instance’a ait bileşenlerin (Database Engine, ilgili servisler) kurulacağı kök dizindir.
- Shared features directory: Sunucudaki tüm instance’lar tarafından ortak kullanılan 64-bit bileşenlerin kurulduğu dizindir.
- Shared features directory (x86): Ortak kullanılan 32-bit bileşenlerin kurulduğu dizindir.
Feature Selection ekranında gerekli yapılandırmayı tamamlayarak Next ile devam ediyoruz.

Instance Configuration ekranında SQL Server’ın Default Instance mi yoksa Named Instance olarak mı kurulacağı belirlenir.
- Default Instance, bir sunucu üzerinde yalnızca bir kez kurulabilir ve doğrudan sunucu adı ile erişim sağlanır. Sistemde MSSQLSERVER adıyla tanımlanır; yeniden adlandırılamaz ve alias atanamaz.
- Named Instance ise aynı sunucu üzerinde birden fazla SQL Server kurulumuna olanak tanır. Erişim sunucuAdı\InstanceAdı formatı ile sağlanır ve genellikle SQL Server Browser servisinin açık olması gerekir.
Bir Sunucuda Birden Fazla Instance
Aynı sunucuda birden fazla instance kullanmak şu senaryolarda avantaj sağlar:
- Farklı uygulamalar için ayrı güvenlik ve yönetim sınırları oluşturulabilir
- Uyumsuz sunucu veya SQL Server yapılandırmaları izole edilebilir
- Farklı SLA gereksinimlerine sahip iş yükleri ayrılabilir
- Aynı işletim sistemi üzerinde farklı SQL Server sürümleri yan yana çalıştırılabilir
- Farklı Collation gereksinimleri olan uygulamalar için ayrı instance’lar yapılandırılabilir
Bu kurulumda:
- Instance ID varsayılan olarak MSSQLSERVER olarak gelir. Default Instance kullanıldığında değiştirilemez ve Always On yapılandırmasıyla tam uyumludur.
- SQL Server directory alanında bileşenlerin
C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVERdizinine kurulacağı görülür.
Instance Configuration ekranında gerekli yapılandırmayı tamamlayarak Next ile devam ediyoruz.

Server Configuration ekranında SQL Server servislerinin Service Account ve Startup Type ayarlarını yapılandırıyoruz.
Service Accounts sekmesinde şu servisler listelenir: SQL Server Agent, SQL Server Database Engine ve SQL Server Browser.
- Account Name: İlgili servisin hangi kullanıcı hesabı ile çalışacağını tanımlar
- Startup Type: Servisin başlatılma davranışını belirler (Automatic / Manual / Disabled)
Always On Senaryolarında Service Account Yapılandırması
Always On yapısında kullanılan SQL Server Database Engine ve SQL Server Agent servislerinin, Active Directory ortamında düşük yetkili ancak gerekli izinlere sahip özel servis hesapları ile çalıştırılması önerilir.
Production ortamlarında Domain Admin veya Local Administrator gibi geniş yetkili hesapların servis hesabı olarak kullanılması önerilmez. Bu hesapların ele geçirilmesi tüm domain altyapısının risk altına girmesine neden olur.
Microsoft’un önerdiği en güvenli yöntem Group Managed Service Account (gMSA) kullanımıdır. gMSA hesapları otomatik parola yönetimi, merkezi kontrol ve güvenli kimlik doğrulama avantajları sunar.
Always On mimarisinde servis hesaplarının:
- Windows üzerinde Log on as a service yetkisine sahip olması
- SQL Server tarafında HADR endpoint için gerekli CONNECT izinlerinin tanımlanması
- SPN (Service Principal Name) kayıtlarının doğru yapılandırılması
zorunludur. SPN yapılandırmasının eksik olması durumunda Kerberos kimlik doğrulaması başarısız olabilir ve failover sonrası istemci bağlantılarında problem yaşanabilir.
Servis Hesabı Karşılıklı Login
Node’lar farklı servis hesapları kullanıyorsa, her node’da diğerinin hesabı için login oluşturulması ve endpoint izni verilmesi gerekir. Aksi halde replikalar birbirine bağlanamaz. Bu adımı Bölüm 5‘te, Endpoint yapılandırmasından önce ele alacağız:
CREATE LOGIN [BAKICUBUK\sqlsvc] FROM WINDOWS;
GO
GRANT CONNECT ON ENDPOINT::[Hadr_endpoint] TO [BAKICUBUK\sqlsvc];
GO
Bu kurulumda her iki node da aynı hesabı kullandığı için bu adım atlanabilmiştir, ancak PROD senaryosunda mutlaka gereklidir.
SQL Server Agent servisi için Account Name, Password ve Startup Type alanlarını yapılandırıyoruz.

SQL Server Agent servisinde Account Name alanında Browse seçeneğine tıklıyoruz.

Select User, Computer, Service Account, or Group ekranında Enter the object name to select alanına hesap adını giriyoruz ve Check Names ile doğruluyoruz.
Enter the object name to select alanına hesap adı geldikten sonra OK ile devam ediyoruz.

Account Name alanında seçilen hesabın görüntülendiğini görüyoruz.
Password bölümüne ilgili hesabın parolasını giriyoruz.

Startup Type yapılandırmasını gerçekleştiriyoruz:
- Automatic: Sunucu her yeniden başlatıldığında servis otomatik devreye girer
- Manual: Servis yalnızca ihtiyaç duyulduğunda başlatılır
- Disabled: Servis tamamen kapalı kalır
SQL Server Agent; bakım planları, yedekleme işlemleri, zamanlanmış görevler (Jobs) ve otomasyon süreçlerinden sorumlu kritik bir bileşen olduğu için Automatic olarak yapılandırıyoruz.

SQL Server Agent servisi için tüm yapılandırmaları tamamlamış oluyoruz.

SQL Server Database Engine servisi için de aynı şekilde Account Name, Password ve Startup Type yapılandırmasını gerçekleştiriyoruz.
SQL Server Browser Servisi
SQL Server Browser servisinin başlatılmasına ihtiyaç duyulup duyulmayacağı, kullanılan bağlantı yöntemlerine bağlıdır:
- Yalnızca Default Instance kullanılıyor ve bağlantılar sunucu adı üzerinden yapılıyorsa SQL Server Browser servisi Disabled bırakılabilir
- Named Instance kullanılıyorsa veya dinamik portlar üzerinden erişim gerekiyorsa Automatic ya da en azından Manual olarak etkinleştirilmesi önerilir

Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine Services seçeneğini işaretliyoruz. Bu ayar, Instant File Initialization özelliğinin etkinleştirilmesini sağlar.
Bu özellik etkinleştirildiğinde, oluşturulan veya genişletilen veri dosyaları disk üzerinde sıfırlarla doldurulmadan anında kullanılabilir hale gelir. İşaretlenmezse SQL Server ayrılan disk alanını sıfır (zeroing) ile doldurur, bu işlem disk I/O açısından oldukça maliyetlidir.
Instant File Initialization ile hızlanan işlemler:
- Yeni Database (Veritabanı) oluşturma
- Mevcut bir Database (Veritabanı)’ne data file ekleme
- Data file boyutunun büyütülmesi
- Database restore işlemleri

Server Configuration ekranında Service Accounts sekmesi üzerindeki tüm yapılandırmaları tamamladıktan sonra Collation sekmesine geçiyoruz.
Collation sekmesinde Database Engine’in karakter kümesi, sıralama ve karşılaştırma kurallarını belirlediğimiz kritik adımdır. Bu ayarlar; metinlerin nasıl sıralanacağını, büyük/küçük harf duyarlılığını ve aksan kurallarının nasıl ele alınacağını doğrudan etkiler.
Dikkate alınması gerekenler:
- Dil (Language) uyumu
- Case-Sensitive (CS) / Case-Insensitive (CI) davranışı
- Accent-Sensitive (AS) / Accent-Insensitive (AI) seçenekleri
- Unicode uyumluluğu ve performans beklentileri
Türkçe karakterlerle yoğun çalışan uygulamalar için genellikle Turkish_CI_AS tercih edilir. Uluslararası uygulamalarda SQL_Latin1_General_CP1_CI_AS yaygındır. Modern projelerde Latin1_General_CI_AS önerilir.

Server Configuration sekmesinde Authentication Mode yapılandırması yapılır.
- Windows Authentication Mode: SQL Server’a yalnızca Windows kullanıcı hesapları üzerinden erişim sağlanır. Active Directory ortamlarında Kerberos tabanlı kimlik doğrulama kullanıldığı için en yüksek güvenlik seviyesini sunar. Microsoft’un kurumsal yapılarda önerdiği moddur.
- Mixed Mode (SQL Server Authentication + Windows Authentication): Hem Windows hesapları hem de SQL Server Authentication ile oluşturulmuş kullanıcılar üzerinden bağlantı kurulabilir. Logo Tiger, Logo Bordro, Mikro, Eta, Nebim gibi ERP yazılımları SQL Authentication kullandığı için pratikte sıklıkla tercih edilir. Bu modda sa hesabı için güçlü bir parola belirlenmesi zorunludur.
Production Ortamlarında Mixed Mode Kullanılacaksa
- sa hesabının devre dışı bırakılması veya yeniden adlandırılması
- Güçlü ve karmaşık parola politikalarının uygulanması
- Kullanılmayan SQL login’lerin kaldırılması
- SQL Server bağlantılarının TLS ile şifrelenmesi
- Firewall ve ağ seviyesinde erişim kısıtlamalarının yapılması

Specify SQL Server administrators bölümünde Add Current User seçeneğine tıklayarak kurulum işlemini gerçekleştiren hesabı sysadmin yetkisiyle ekliyoruz.

Specify SQL Server administrators bölümüne, kurulumu gerçekleştiren Administrator hesabının sysadmin yetkisiyle eklendiğini görüyoruz. Bu lab ortamında kurulumu yürüten Administrator hesabı sysadmin olarak eklenmiştir. Production ortamında ise sysadmin yetkisinin, geniş yetkili yönetici hesapları yerine belirli ve denetlenebilir hesaplara verilmesi önerilir.
Server Configuration sekmesinde gerekli yapılandırmayı tamamladıktan sonra Data Directories sekmesine geçiyoruz.

Data Directories sekmesinde veritabanı dosyalarının hangi dizinlerde tutulacağını belirliyoruz.
Data root directory: SQL Server’ın tüm veri bileşenleri için temel kök dizinidir; sistem veritabanlarını (master, model, msdb) barındırır.
User database directory: Kullanıcı veritabanlarına ait .mdf ve .ndf dosyalarının tutulduğu dizindir.
- .mdf (Primary Data File): Her veritabanında zorunlu olan ana veri dosyasıdır; metadata bilgilerini içerir
- .ndf (Secondary Data File): İsteğe bağlıdır; büyük veritabanlarında depolamayı ölçeklemek, I/O yükünü dağıtmak ve filegroup bazlı mimari kurmak için kullanılır
- User database log directory: .ldf (Transaction Log) dosyalarının tutulduğu dizindir. Transaction log dosyaları veri bütünlüğü, rollback ve point-in-time recovery için kritik olduğundan veri dosyalarından ayrı bir disk üzerinde konumlandırılmalıdır.
- Backup directory: Full, Differential ve Transaction Log yedeklerinin tutulduğu dizindir. Veri ve log disklerinden ayrı olması performans, güvenlik ve DR senaryoları açısından en iyi pratiktir.
FCI (Failover Cluster Instance) ve Always On Arasındaki Kritik Fark
Failover Cluster Instance (FCI) mimarisinde Data, Log, TempDB ve Backup dizinleri Cluster Shared Volumes (CSV) üzerinde konumlandırılır. Cluster’a dahil tüm node’lar aynı CSV (Cluster Shared Volumes) alanını görür.
Always On Availability Group mimarisinde ise CSV kullanılmaz; her replica kendi yerel diskleri üzerinde çalışır. Data, Log, TempDB ve Backup dizinleri her SQL Server node’u üzerinde ayrı ayrı, ancak aynı dizin yapısı ve standart ile oluşturulmalıdır.
Örnek standart dizin yapısı (her iki node’da aynı olmalı):
| Sürücü | Dizin | İçerik |
|---|---|---|
| E: | E:\DATA |
.mdf ve .ndf dosyaları |
| F: | F:\LOG |
.ldf dosyaları |
| G: | G:\TEMP |
TempDB dosyaları |
| H: | H:\BACKUP |
Yedekleme dosyaları |

User database directory için ilgili alanın sağındaki üç nokta (…) simgesine tıklıyoruz.

Browse For Folder ekranında DATA (E:) sürücüsünü ve altında oluşturduğumuz DATA klasörünü seçiyoruz.

User database log directory için üç nokta (…) simgesine tıklıyoruz.

Browse For Folder ekranında LOG (F:) sürücüsünü ve LOG klasörünü seçiyoruz.

Backup directory için üç nokta (…) simgesine tıklıyoruz.
Yedekleme türleri:
- Full Backup: Veritabanının o andaki tüm veri ve nesnelerini kapsayan eksiksiz yedektir. Geri yükleme senaryolarının temelini oluşturur.
- Differential Backup: Son Full Backup’tan sonra değişen tüm veri sayfalarını içerir. Boyutu daha küçüktür ve daha hızlı alınır.
- Transaction Log Backup: Veritabanında gerçekleşen işlemlerin kayıtlarını içerir ve point-in-time restore imkanı sağlar. Düzenli alındığında hem veri kaybı riskini azaltır hem de log dosyasının kontrolsüz büyümesini engeller.

Browse For Folder ekranında BACKUP (H:) sürücüsünü ve BACKUP klasörünü seçiyoruz.

Data Directories sekmesinde tüm dizin yapılandırmalarının tamamlandığını görüyoruz.
Server Configuration sekmesinde veritabanı dosyalarının hangi dizinlerde tutulacağını yapılandıırdıktan sonra TempDB sekmesine geçiyoruz.

TempDB sekmesinde SQL Server’ın geçici veri işlemlerini yürüttüğü TempDB sistem veritabanının yapılandırıldığı kritik adımdır. SQL Server; geçici tablolar, tablo değişkenleri, index rebuild işlemleri, sort ve hash operasyonları gibi pek çok süreci TempDB üzerinden gerçekleştirir.
TempDB Data Files
TempDB için birden fazla Data File oluşturulması önerilir. Bu yaklaşım, çok çekirdekli sistemlerde sıkça karşılaşılan PFS, GAM ve SGAM latch contention problemlerinin azaltılmasına yardımcı olur.
Microsoft’un best practice önerisi:
- 8 çekirdeğe kadar: Çekirdek sayısı kadar dosya
- 8 çekirdekten fazla: Maksimum 8 dosya
Data dosyalarının başlangıç boyutları yeterli seviyede belirlenmeli ve autogrowth değerleri yüzdesel yerine sabit MB cinsinden yapılandırılmalıdır (örneğin 64 MB veya 128 MB).
TempDB Log File
SQL Server, her instance için yalnızca tek bir TempDB log dosyasını destekler. Bu dosyanın başlangıç boyutunun en az 512 MB, tercihen 1 GB olarak yapılandırılması önerilir. Autogrowth ayarının sabit MB (256 MB veya 512 MB) olarak belirlenmesi, log dosyasının kontrollü büyümesini sağlar.

Data directories bölümünde varsayılan dizini kaldırmak için Remove seçeneğine tıklıyoruz.

Add seçeneğine tıklayarak yeni dizin yolunu ekliyoruz.

Browse For Folder ekranında TEMP (G:) sürücüsünü ve altında oluşturduğumuz TEMP klasörünü seçiyoruz.

Database Engine Configuration ekranında TempDB sekmesinde yer alan Data directories bölümüne ait dizin yapılandırmasını tamamlıyoruz. Bu adım ile TempDB veri dosyalarının sunucu üzerinde hangi dizinde tutulacağı net olarak belirlenmiş olur ve SQL Server’ın geçici veri işlemleri için kullanacağı fiziksel disk konumu tanımlanır.

Log directories bölümünü yapılandırmak için üç nokta (…) simgesine tıklıyoruz.

Browse For Folder ekranında LOG (F:) sürücüsünü ve altında oluşturduğumuz TEMPLOG klasörünü seçiyoruz.

TempDB‘nin hem veri hem de log dosyalarına ilişkin tüm dizin ayarları tamamlanmış olur.

MaxDOP, Memory ve FILESTREAM seçenekleri SQL Server 2025 kurulumu sırasında yapılandırılabilir, ancak Always On Availability Group mimarisi için doğrudan kritik bileşenler arasında yer almaz. Always On’un sağlıklı çalışması; WSFC yapılandırması, Quorum ayarları, Replica tanımları, Endpoint bağlantıları, Listener yönetimi ve veri senkronizasyon modlarına bağlıdır. Yine de bu ayarların doğru planlanması, Always On üzerinde çalışan veritabanlarının performansı açısından önemini korur.
MaxDOP (Max Degree of Parallelism): SQL Server’ın bir sorguyu paralel olarak çalıştırırken kullanabileceği en fazla işlemci çekirdeği sayısını belirler. Doğru yapılandırılmış bir MaxDOP değeri paralel sorgu yürütmeyi dengeler, CPU kullanımını optimize eder ve CXPACKET / CXCONSUMER gibi bekleme türlerini azaltır.

Memory: SQL Server’ın kullanabileceği minimum ve maksimum bellek sınırlarının belirlendiği bölümdür (SQL Server 2019 ile kurulum sihirbazına eklenmiştir). Ekranda Recommended (Microsoft’un donanıma göre önerdiği değer) ve Default (varsayılan dinamik bellek yönetimi) bilgileri gösterilir.
Bu değerler ortamın iş yüküne göre özelleştirilebilir; ancak Maximum Server Memory değerinin işletim sistemi ve diğer servisler için yeterli RAM bırakacak şekilde ayarlanması önemlidir (örneğin 64 GB RAM’li bir sunucuda işletim sistemine 6–8 GB bırakarak ~56 GB). Bellek ince ayarı kurulum sonrası SQL Server Management Studio (SSMS) 22 üzerinden de yapılabilir.

FILESTREAM sekmesinde SQL Server 2019 ile kurulum sihirbazına eklenen ve SQL Server 2025’te de kullanılmaya devam eden bir yapılandırma bölümüdür. Önceki sürümlerde FILESTREAM yalnızca SQL Server Configuration Manager veya T-SQL ile etkinleştirilebiliyordu.
FILESTREAM: SQL Server üzerinde tutulan büyük boyutlu BLOB verilerin (dokümanlar, görüntüler, videolar, PDF’ler, medya dosyaları vb.) NTFS dosya sistemi üzerinde saklanmasını sağlayan bir teknolojidir. Bu mimaride veriler, veritabanı içindeki varbinary(MAX) alanlarıyla mantıksal ilişkisini korur; ancak fiziksel olarak .mdf ve .ndf dosyaları içine yazılmak yerine, NTFS üzerinde oluşturulan özel FILESTREAM klasörlerinde depolanır.
Küçük boyutlu BLOB veriler (genellikle 1 MB’tan küçük) doğrudan veritabanı içinde saklandığında daha düşük gecikme sağlar. Buna karşılık büyük dosyaların veritabanı içinde tutulması; yedekleme sürelerini artırır, geri yükleme işlemlerini uzatır, DBCC CHECKDB işlemlerinde ek yük oluşturur ve veritabanı dosyalarının gereksiz büyümesine neden olur. Bu nedenle FILESTREAM, büyük medya ve dosya içeriklerinin yoğun kullanıldığı uygulamalarda doğru yapılandırıldığında performans ve yönetilebilirlik avantajı sağlar.
Bu ortamda FILESTREAM özelliğini kullanmayacağımız için bu sekmede herhangi bir değişiklik yapmıyoruz. Varsayılan yapılandırmayı doğruladıktan sonra Next ile devam ediyoruz.

Features Configuration Rules ekranında kurulum için seçtiğimiz tüm bileşenler ve yapılandırmalar sistem tarafından bir kez daha kapsamlı şekilde doğrulanır. Bu aşamada; kurulumu etkileyebilecek eksik bileşenler, uyumsuz ayarlar veya sistem gereksinimleriyle ilgili olası problemler kontrol edilir.
Yapılan kontrollerin tamamının Passed durumunda görünmesi, kurulumun sorunsuz ilerleyebileceğini ifade eder. Herhangi bir Error veya Warning ile karşılaşılırsa, ilgili eksiklikler giderildikten sonra Re-run seçeneği ile kontroller yeniden çalıştırılabilir. Tüm kontroller başarılı olduğunda Next ile devam ediyoruz.

Ready to Install ekranında kurulum boyunca yaptığımız tüm yapılandırma adımlarının özeti görüntülenir. Bu ekran, kurulum öncesi son doğrulama noktasıdır: seçtiğimiz bileşenlerin, dizin ayarlarının ve servis yapılandırmalarının doğru algılanıp algılanmadığını toplu olarak görürüz.
Bu özet ekranda şunlar listelenir:
- Kurulacak SQL Server özellikleri
- Instance adı ve instance yapılandırma bilgileri
- Servis hesapları ve servislerin başlangıç türleri (Startup Type)
- Collation seçimi
- User Database Directory, User Database Log Directory ve Backup Directory yolları
- TempDB Data ve TempDB Log dizinleri


Ready to Install ekranında tüm yapılandırma ayarlarının doğruluğunu teyit ettikten sonra Install seçeneğine tıklayarak W25SQL25NOD1 sunucumuz üzerinde Microsoft SQL Server 2025 kurulumunu başlatıyoruz. Bu aşamadan itibaren kurulum süreci otomatik olarak ilerler; seçilen tüm bileşenler, dizin yapılandırmaları, servis hesapları ve başlangıç ayarları doğrultusunda SQL Server sunucu üzerine yüklenir.

Installation Progress ekranında kurulumun başarıyla başlatıldığını ve seçtiğimiz tüm bileşenlerin sisteme adım adım yüklendiğini görüyoruz. Bu aşamada SQL Server Database Engine ve SQL Server Replication bileşenleri, gerekli servisler ve tüm yapılandırmalar arka planda otomatik olarak kurulur. Her bileşenin durumu gerçek zamanlı izlenebilir ve manuel müdahale gerektirmez. Tüm adımlar tamamlandığında kurulum otomatik olarak Complete ekranına geçer.

Complete ekranında W25SQL25NOD1 sunucumuz üzerinde Microsoft SQL Server 2025 kurulumunun başarıyla tamamlandığını görüyoruz. Bu ekran, seçilen tüm bileşenlerin hatasız yüklendiğini ve SQL Server’ın kullanıma hazır olduğunu doğrulayan son adımdır.
Kurulum sorunsuz tamamlandığında aşağıdaki bileşenlerin Succeeded durumunda olduğunu teyit edebiliriz:
- Database Engine Services: SQL Server’ın temel veritabanı motoru
- SQL Server Replication: Replikasyon altyapısı ve ilgili servisler
- SQL Server Browser: Instance ve port bilgisini istemcilere yayınlayan servis
- SQL Server Writer: VSS tabanlı yedekleme çözümleri (Veeam, Commvault, Veritas NetBackup, Rubrik, Cohesity vb.) ile entegrasyonu sağlayan bileşen
- Setup Support Files: Kurulum ve yönetim süreçleri için gerekli destek dosyaları
Tüm bileşenlerin Succeeded durumunda olması; servis hesapları, dizin yapılandırmaları, güvenlik ayarları ve seçilen özelliklerin eksiksiz uygulandığını gösterir.
Kurulum tamamlandıktan sonra Close seçeneğine tıklayarak SQL Server 2025 Setup ekranını kapatıyoruz.

W25SQL25NOD2 Üzerinde SQL Server 2025 Kurulumu
W25SQL25NOD1 üzerindeki kurulumu tamamladıktan sonra, Always On Availability Group mimarisinde ikinci node (secondary replica) olarak görev alacak W25SQL25NOD2 sunucusu üzerinde de Microsoft SQL Server 2025 kurulumunu gerçekleştiriyoruz.
W25SQL25NOD2 üzerinde disk yapılandırması, W25SQL25NOD1 ile birebir aynıdır (E:\ DATA , F:\ LOG , G:\ TEMP , H:\ BACKUP). Veri, log ve backup dizinlerinin her iki node’da aynı yapıda olması, Availability Group yapılandırmasının sorunsuz ilerlemesi açısından kritiktir.
Kurulum adımları da W25SQL25NOD1 ile birebir aynıdır:
- Edition: Aynı sürüm (bu kurulumda I have a SQL Server license only → Perpetual)
- Feature Selection: Database Engine Services + SQL Server Replication
- Instance Configuration: Default Instance (MSSQLSERVER)
- Server Configuration: Aynı servis hesapları ve Startup Type ayarları
- Collation: NOD1 ile aynı Collation
- Data Directories: Aynı dizin mimarisi (E/F/G/H)
- TempDB: Aynı TempDB veri ve TempDB log dizinleri
- Install → Complete
Kurulum tamamlandığında Complete ekranında tüm bileşenlerin Succeeded durumunda olduğunu doğrularız. Bu adım ile Always On Availability Group mimarisi için gerekli olan her iki node üzerindeki Microsoft SQL Server 2025 kurulumu tamamlanmış olur.

W25SQL25NOD1 ve W25SQL25NOD2 isimli sunucularımız üzerinde Microsoft SQL Server 2025 kurulum adımlarını tamamladık.
Kurulum sırasında karşılaştığımız Feature Selection ekranındaki bileşenlerin (PolyBase, Analysis Services, Machine Learning Services, SSIS, SSRS ve diğerleri) ne işe yaradığını merak ediyorsanız, bir sonraki yazımız tam size göre:
Bölüm 3 – SQL Server 2025 Bileşenleri Rehberi
Ardından Bölüm 4‘te Always On mimarisine geçmeden önce yapılması gereken kritik ön hazırlıkları ele alacağız.
Bir sonraki yazımızda görüşmek dileğiyle…