Isometric illustration of a small database inside a frame of limit lines next to a gauge near its maximum and a larger server behind it, symbolising SQL Server Express limits and the upgrade to Standard

SQL Server Express Nedir? Sınırları, Kullanım Alanları ve Standard’a Ne Zaman Geçilmeli (SQL Server 2025)

SQL Server Express 2025 ücretsizdir ama dört çekirdek, 1.410 MB buffer pool ve veritabanı başına 50 GB ile sınırlıdır. Sınırlara ne kadar yaklaştığınızı ölçmeyi, Agent olmadan yedeklemeyi ve Standard’a geçişi anlatıyoruz.

Kasım 9, 2026

SQL Server Express, Microsoft’un ücretsiz SQL Server sürümüdür. SQL Server 2025’te en fazla bir soket veya dört çekirdekten düşük olanı, 1.410 MB arabellek havuzu (buffer pool) ve veritabanı başına 50 GB kullanabilir; SQL Server Agent içermez. Veri boyutu, bellek baskısı, zamanlanmış işler veya yüksek erişilebilirlik ihtiyacı bu sınırları aştığında Standard’a geçmek gerekir.

Bu yazıda SQL Server 2025 Express sınırlarını Standard ve Developer ile yan yana koyuyor, sunucunuzun bu sınırlara ne kadar yaklaştığını gösteren T-SQL sorgularını paylaşıyor, SQL Server Agent olmadan yedeklemenin nasıl zamanlanacağını anlatıyor ve Standard’a sürüm yükseltme (Edition Upgrade) adımlarını sıralıyoruz. T-SQL komutları Docker üzerinde SQL Server 2025 Express (17.0.5015.4, CU9) ve SQL Server 2022 Express (16.0.4305.5, CU27) ile test edildi.

SQL Server Sürüm Seçimi

Express sınırlarına mı yaklaşıyorsunuz?

Aryasoft, Express sunucularınızın CPU, bellek, veritabanı boyutu ve yedekleme durumunu inceler; Standard'a geçiş gerekip gerekmediğini ve geçişin nasıl yapılacağını sizinle birlikte netleştirir.

Değerlendirme Talep Et

SQL Server Express Nedir?

SQL Server Express, SQL Server veritabanı motorunun giriş seviyesindeki ücretsiz sürümüdür (edition). Microsoft bu sürümü öğrenme, masaüstü uygulamaları ve küçük sunucu uygulamaları için, bir de ürünüyle birlikte veritabanı dağıtan yazılım firmaları için konumlandırır. Motor, ücretli sürümlerle aynıdır: T-SQL, veri tipleri, indeksler ve programlama özelliklerinin büyük kısmı aynı şekilde çalışır. Farkı yaratan, ölçek sınırları ile yönetim ve yüksek erişilebilirlik özellikleridir.

SQL Server 2025 ile birlikte tek bir Express sürümü kaldı. Eskiden “Express with Advanced Services” adıyla ayrı dağıtılan özellikler, örneğin Full-Text Search, artık Express’in içinde; LocalDB de Express kurulum paketiyle geliyor. Express Linux’ta ve konteynerlerde de çalışır; orada sürümü MSSQL_PID=Express ile seçersiniz.

SQL Server Express Sınırları: Standard ve Developer ile Karşılaştırma (SQL Server 2025)

Express Standard Enterprise Developer / Standard Developer
Kullanım Sınırlar içinde canlı ortamda kullanılabilir Canlı ortam Yalnızca geliştirme ve test; canlı ortam için değil
Lisans Ücretsiz Ücretli (çekirdek başına veya sunucu + CAL) Ücretsiz
Instance başına işlemci 1 soket veya 4 çekirdekten düşük olanı 4 soket veya 32 çekirdekten düşük olanı Enterprise / Standard ile aynı
Buffer pool belleği 1.410 MB 256 GB Enterprise / Standard ile aynı
Columnstore segment önbelleği 352 MB 32 GB Enterprise / Standard ile aynı
Veritabanı başına memory-optimized veri 352 MB 32 GB Enterprise / Standard ile aynı
En büyük veritabanı boyutu 50 GB (SQL Server 2022 ve öncesinde 10 GB) 524 PB 524 PB
SQL Server Agent Yok Var Var
Yedek sıkıştırma (backup compression) Yok Var Var
Database Mail Yok Var Var
Yüksek erişilebilirlik Log shipping, failover cluster instance veya availability group yok Log shipping, failover cluster instance, basic availability group (iki replika, tek veritabanı) Enterprise / Standard ile aynı
Resource Governor Yok Var Var

Tabloda kolayca gözden kaçan üç nokta var:

  • 1.410 MB sınırı buffer pool içindir, yani veri ve indeks sayfalarının tutulduğu önbellek için. Columnstore segmentleri ve memory-optimized tabloların ayrı 352 MB sınırları vardır; bu yüzden SQL Server sürecinin toplam bellek kullanımı 1.410 MB’ı geçebilir. Geçemeyen şey, önbellekte tutulan veri sayfalarıdır: sunucuda ne kadar RAM olursa olsun yaklaşık 1,4 GB.
  • İşlemci sınırı mantıksal işlemciyle değil çekirdekle sayılır. Hyper-threading açıksa dört çekirdek sekiz mantıksal işlemci olarak görünebilir. Sanal makinelerde ise sınır mantıksal işlemci sayısına göre uygulanır, çünkü sanal makine fiziksel çekirdek yapısını göremez.
  • SQL Server 2025, Express’te yalnızca veritabanı boyutu sınırını değiştirdi: 10 GB’tan 50 GB’a. İşlemci ve bellek sınırları SQL Server 2022 ile aynı kaldı; Standard ise 32 çekirdek ve 256 GB’a çıktı.

Testimizde buffer pool sınırı açıkça görüldü. Aynı makinede, SQL Server 2025 Express ve Standard Developer üzerinde 3,1 GB’lık aynı tabloyu birkaç kez taradık. Express’te buffer pool bellek görevlisi (memory clerk) yaklaşık 1.408 MB’ta sabitlendi ve her yeni tarama yaklaşık 1,7 GB’ı yeniden diskten okudu (read-ahead). Standard Developer’da tablonun tamamı bellekte kaldı ve tekrar eden taramalar diske hiç gitmedi. “Express’e sığmamak” pratikte böyle görünür: sunucuda boş RAM vardır, ama instance sürekli diske döner.

Sürümü ve Sınırları T-SQL ile Kontrol Edin

Aşağıdaki sorguları SQL Server Management Studio veya sqlcmd ile çalıştırabilirsiniz. Yalnızca meta veri okurlar, canlı sunucuda güvenle kullanılabilirler.

Hangi sürüm ve derleme çalışıyor?

SELECT
    SERVERPROPERTY('Edition')            AS edition,
    SERVERPROPERTY('EngineEdition')      AS engine_edition,   -- 4 = Express
    SERVERPROPERTY('ProductVersion')     AS product_version,
    SERVERPROPERTY('ProductUpdateLevel') AS update_level;

Test sunucumuzda sorgu Express Edition (64-bit), motor sürümü 4 ve CU9 ile 17.0.5015.4 döndürdü. Standard veya Standard Developer’a geçtikten sonra EngineEdition 2 döner.

Instance kaç işlemci kullanıyor?

SELECT COUNT(*) AS visible_online_schedulers
FROM sys.dm_os_schedulers
WHERE status = 'VISIBLE ONLINE';

EXEC sys.xp_readerrorlog 0, 1, N'based on SQL Server licensing';

Hata günlüğündeki (error log) bu satır, sunucuda kaç mantıksal işlemci olduğunu ve SQL Server’ın sürüm nedeniyle bunlardan kaçını kullandığını yazar. 12 çekirdek ve 24 mantıksal işlemcili bir makinede Express “using 8 logical processors based on SQL Server licensing” yazdı; aynı makinedeki Standard Developer 24’ünü de kullandı. Günlükte görünen işlemci sayısı instance’ın kullandığından çok fazlaysa, işlemci sınırı performansınızı şimdiden belirliyor demektir.

Buffer pool ne kadar bellek kullanıyor?

SELECT CAST(SUM(pages_kb) / 1024.0 AS decimal(12,1)) AS buffer_pool_mb
FROM sys.dm_os_memory_clerks
WHERE type = 'MEMORYCLERK_SQLBUFFERPOOL';

SELECT cntr_value AS page_life_expectancy_sec
FROM sys.dm_os_performance_counters
WHERE counter_name = 'Page life expectancy'
  AND object_name LIKE '%Buffer Manager%';

Sorguyu yeniden başlatmanın hemen ardından değil, mesai saatlerinde çalıştırın. Gün boyunca 1.400 MB civarında duran bir buffer pool, düşük page life expectancy (sayfaların bellekte kalma süresi) ve yavaş okumalarla birlikte görülüyorsa, kullanıcılarınızın eriştiği veri Express’in izin verdiği önbelleğe sığmıyor demektir.

Veritabanlarınız 50 GB’a ne kadar yakın?

SELECT
    DB_NAME(database_id) AS database_name,
    CAST(SUM(CASE WHEN type_desc = 'ROWS' THEN size END) * 8 / 1024.0 AS decimal(12,1)) AS data_mb,
    CAST(SUM(CASE WHEN type_desc = 'LOG'  THEN size END) * 8 / 1024.0 AS decimal(12,1)) AS log_mb,
    CAST(SUM(CASE WHEN type_desc = 'ROWS' THEN size END) * 8 / 1024.0 / 51200 * 100 AS decimal(5,1)) AS data_pct_of_50gb
FROM sys.master_files
WHERE database_id > 4
GROUP BY database_id
ORDER BY data_mb DESC;

SQL Server 2022 ve öncesinde 51200 yerine 10240 yazın. Bir veritabanı sınırın üzerine çıkacak olduğunda, yer isteyen komut 1827 numaralı hatayla durur: “CREATE DATABASE or ALTER DATABASE failed because the resulting cumulative database size would exceed your licensed limit of 51200 MB per database.” SQL Server 2022 Express’te aynı mesaj 10240 MB der. Planlama eşiği olarak %80’i kullanın; sınıra dayanan bir veritabanı, iş gününün ortasında yeni kayıt alamaz hale gelir.

SQL Server Agent Olmadan Yedekleme

Express’te SQL Server Agent olmadığı için zamanlanmış iş (job) veya bakım planı (maintenance plan) da yoktur. Microsoft’un önerdiği yöntem, yedekleme betiğini sqlcmd ile çalıştırmak ve Windows Görev Zamanlayıcı (Task Scheduler) ile zamanlamaktır. Express yedekleri sıkıştıramaz da: BACKUP ... WITH COMPRESSION komutu 1844 numaralı “BACKUP DATABASE WITH COMPRESSION is not supported on Express Edition” hatasıyla durur. Disk alanını sıkıştırılmamış dosyalara göre planlayın.

Adım 1: Yedekleme betiğini oluşturun

Betiği D:\SQLBackups\backup_salesdb.sql olarak kaydedin. Her çalıştığında zaman damgalı yeni bir dosya adı üretir ve yedeği yazdıktan hemen sonra doğrular.

DECLARE @file nvarchar(260) =
    N'D:\SQLBackups\SalesDb_' + FORMAT(SYSDATETIME(), 'yyyyMMdd_HHmm') + N'.bak';
BACKUP DATABASE [SalesDb] TO DISK = @file WITH CHECKSUM, INIT;
RESTORE VERIFYONLY FROM DISK = @file WITH CHECKSUM;

Adım 2: Batch dosyasını oluşturun

Aşağıdaki satırı D:\SQLBackups\Sqlbackup.bat olarak kaydedin. .\SQLEXPRESS, Express’in varsayılan adlandırılmış instance’ıdır; -E Windows kimlik doğrulamasını kullandığı için dosyada parola tutulmaz.

sqlcmd -S .\SQLEXPRESS -E -b -i "D:\SQLBackups\backup_salesdb.sql"

İpucu

-b parametresini asla çıkarmayın. Bu parametre olmadan sqlcmd yedek başarısız olsa bile 0 çıkış kodu döndürür ve Görev Zamanlayıcı başarısız yedeği başarılı gösterir. -b ile başarısız bir yedek 1 döndürür.

Adım 3: Batch dosyasını zamanlayın

Her gün 23:00’te çalışan bir görev oluşturun. Görev, onu oluşturan hesapla çalışır; bu hesabın veritabanlarını yedekleme yetkisi olmalıdır.

schtasks /create /tn "SQL Express full backup" /tr "D:\SQLBackups\Sqlbackup.bat" /sc daily /st 23:00

Adım 4: Yedeklerin gerçekten alındığını kontrol edin

Görev Zamanlayıcı’daki başarılı durumu, yedeğin alındığının kanıtı değildir. msdb’deki yedek geçmişini düzenli olarak kontrol edin:

SELECT TOP (3) database_name, type, backup_start_date, backup_finish_date, physical_device_name
FROM msdb.dbo.backupset AS bs
INNER JOIN msdb.dbo.backupmediafamily AS bmf
    ON bs.media_set_id = bmf.media_set_id
ORDER BY backup_start_date DESC;

Bu yöntemde iş geçmişi, yeniden deneme ve hata uyarısı yoktur; eski dosyaları da silmez. Yedekleri sunucu dışına kopyalayın, eski dosyaları düzenli olarak temizleyin ve zaman zaman geri yükleme testi yapın. Belirli bir zamana geri dönüş (point-in-time recovery) için işlem günlüğü (transaction log) yedeği gerekiyorsa veritabanı full (veya bulk-logged) kurtarma modelinde olmalı ve BACKUP LOG içeren ikinci bir betik zamanlanmalıdır. Yedek sıklığını RPO ve RTO hedeflerinize göre belirlemek için SQL Server backup planı yazımıza göz atabilirsiniz.

LocalDB: Geliştiriciler İçin Express

SQL Server Express LocalDB, Express motorunu geliştirici bilgisayarında çalıştırmanın hafif bir yoludur. Az sayıda dosya kurar, bir uygulama bağlandığında kendiliğinden başlar ve Windows hizmeti olarak değil, kullanıcı oturumunda çalışır. Server=(localdb)\MSSQLLocalDB;Integrated Security=true bağlantı dizesi otomatik instance’a bağlanır. LocalDB, Express ile aynı sınırlara sahiptir ve geliştirme içindir; uygulamaların ağ üzerinden bağlandığı ortak bir sunucu için normal bir Express veya Standard instance kullanın.

Developer Sürümü Canlı Ortam İçin Bir Seçenek Değil

SQL Server 2025’te Developer sürümü ikiye ayrıldı: tüm Enterprise özelliklerini içeren Enterprise Developer ve birebir Standard özellik setine sahip Standard Developer. Canlıda Standard ile çalışacak bir uygulamayı test ediyorsanız Standard Developer daha doğru seçimdir; canlıda sahip olmayacağınız özellikleri kullanmanıza izin vermez.

Uyarı

Developer sürümleri ücretsizdir ama yalnızca geliştirme ve test için lisanslanır. Express sınırlarından kurtulmak için canlı iş yükünü Developer üzerinde çalıştırmak bir çözüm değil, lisans koşullarının ihlalidir.

Express’e Sığmadığınızı Gösteren İşaretler

  • Bir veritabanı 50 GB sınırının %80’ini geçti ya da yalnızca sınırın altında kalmak için veri arşivliyor veya siliyorsunuz.
  • Buffer pool mesai saatlerinde 1,4 GB civarında duruyor, page life expectancy düşük ve okumalar diski bekliyor; oysa sunucuda kullanılmayan RAM var.
  • Hata günlüğü, SQL Server’ın sunucudaki işlemcilerin yalnızca bir kısmını kullandığını gösteriyor ve yoğun saatlerde bu işlemcilerde CPU yüksek.
  • Görev Zamanlayıcı betiklerinin güvenilir şekilde karşılayamadığı zamanlanmış işlere, uyarılara veya Database Mail bildirimlerine ihtiyacınız var.
  • İş birimi yüksek erişilebilirlik ya da bekleyen bir yedek sunucu istiyor: log shipping, failover cluster veya basic availability group.
  • Yedekler sıkıştırılamadığı için çok uzun sürüyor ya da çok fazla disk kaplıyor.

Tek bir işaret her zaman Standard gerektirmez: yavaş bir sorgunun ihtiyacı daha büyük bir sürüm değil, bir indeks olabilir. Önce iş yükünü inceleyin, sonra karar verin. Daha geniş seçim için SQL Server’ın hangi sürümünü kullanmalısınız yazımıza göz atabilirsiniz.

Express’ten Standard’a Nasıl Geçilir?

SQL Server kurulum programı, Express’ten aynı versiyondaki Standard veya Enterprise’a yerinde sürüm yükseltmeyi (Edition Upgrade) destekler; yeniden kurulum yapmanız veya veritabanlarını taşımanız gerekmez. SQL Server 2025’te Express için desteklenen hedefler Standard, Enterprise ve Developer’dır. Aynı yöntemle yapılan bir Standard’dan Enterprise’a geçişin bir sunucuda 16 yerine 192 çekirdeğin kullanılmasını nasıl sağladığını bu başarı hikayemizde anlattık.

  1. Önce lisans. Standard ürün anahtarı ve sunucu için yeterli çekirdek lisansı hazır olsun. Çekirdek başına ve sunucu + CAL modellerini SQL Server lisanslama yazımızda anlattık.
  2. Her şeyi yedekleyin. Tüm kullanıcı veritabanlarının ve master, model, msdb sistem veritabanlarının tam yedeğini alın.
  3. Kısa bir kesinti planlayın. Kurulum, yeni sürümü etkinleştirmek için SQL Server hizmetlerini yeniden başlatır; bu sürede uygulamalar çalışmaz.
  4. Edition Upgrade’i çalıştırın. Standard kurulum medyasından setup.exe’yi başlatın, Maintenance bölümünde Edition Upgrade’i seçin, ürün anahtarını girin ve Express instance’ını seçin.
  5. Yapılandırmayı tamamlayın. SQL Server Agent hizmetini etkinleştirin, hizmet hesabını SQL Server Configuration Manager ile ayarlayın, Express’in oluşturduğu BUILTIN\Users gibi oturum açma hesaplarını gözden geçirin ve Express ayarlarını koruyan tempdb ile model veritabanlarını yeniden boyutlandırın.
  6. Doğrulayın ve iyileştirin. Yukarıdaki sürüm sorgusunu çalıştırın; EngineEdition 2 dönmelidir. Ardından Görev Zamanlayıcı yedeklerini SQL Server Agent işlerine taşıyın, yedek sıkıştırmayı açın ve uyarıları tanımlayın.

Instance adı değişmez; yeni bir instance’a taşınmadığınız sürece sunucu adı yükseltmeden sonra da .\SQLEXPRESS olarak kalır. Standard’dan Express’e geri dönüş yerinde yapılamaz; SQL Server’ı kaldırıp yeniden kurmak gerekir.

Ne Zaman Uzmana Başvurmalı?

Sürüm yükseltmenin kendisi kısa bir kurulum işidir. Asıl zor olan, neye ihtiyacınız olduğuna karar vermek ve Express’in gizlediği sorunları düzeltmektir. Şu durumlarda deneyimli bir ekiple çalışın:

  • Bir uygulama sağlayıcısı Express ile kurulum yapmış ve veriniz boyut sınırına yaklaşıyor.
  • Yavaşlığın sürüm sınırlarından mı, sorgu ve indekslerden mi kaynaklandığından emin değilsiniz.
  • Birden fazla Express instance’ı tek bir lisanslı Standard instance’ta birleştirilebilir.
  • Yedekleme, izleme ve yüksek erişilebilirliğin zamanlanmış bir betiğe değil, sorumluluğu üstlenen birine emanet olmasını istiyorsunuz.

Aryasoft’un yalnızca kıdemli uzmanlardan oluşan SQL Server ekibi instance’larınızı inceler, doğru sürümü ve lisansı belirler, yükseltmeyi yapar; ardından yedekleme, iş ve izleme düzenini kurar. Ayrıntılar için SQL Server danışmanlık hizmetlerimize göz atabilirsiniz.

Sık Sorulan Sorular

Evet. Developer sürümlerinin aksine Express, geliştirme ve test ile sınırlı değildir. Sınırlar hukuki değil tekniktir: SQL Server 2025’te bir soket veya dört çekirdek, 1.410 MB buffer pool ve veritabanı başına 50 GB; SQL Server Agent yok.
Her instance’ın kendi sınırları vardır; dolayısıyla her biri kendi buffer pool’unu ve veritabanlarını kullanır. Ancak yama, yedekleme ve izleme yükü de katlanır ve tek bir veritabanı yine 50 GB’ı geçemez. Bu noktaya gelindiğinde tek bir Standard instance’ı yönetmek genellikle daha kolaydır.
Hayır. Sınır veritabanı başınadır. SQL Server 2025’te bir Express instance’ı, instance’ın işlemci ve bellek sınırları içinde, her biri 50 GB’a kadar olan birden fazla veritabanı barındırabilir.
Asıl sorununuz boyutsa evet: veritabanı başına sınır 10 GB’tan 50 GB’a çıkar, işlemci ve bellek sınırları aynı kalır. Önce uygulamayı SQL Server 2025 üzerinde test edin ve uygulama sağlayıcınızın bu versiyonu desteklediğinden emin olun.
Hayır. Edition Upgrade mevcut instance’ın sürümünü yerinde değiştirir; veritabanları, oturum açma hesapları ve instance adı aynı kalır. Hizmetin yeniden başlatılmasını ve yükseltme sonrası yapılandırma adımlarını planlayın.

Kaynaklar

Bu yazıdaki teknik bilgiler 9 Kasım 2026 tarihinde aşağıdaki belgelerle karşılaştırıldı.

  1. Microsoft Learn: Editions and supported features of SQL Server 2025
  2. Microsoft Learn: Editions and supported features of SQL Server 2022
  3. Microsoft Learn: Compute capacity limits by edition of SQL Server
  4. Microsoft Learn: Troubleshoot slow performance after an edition change
  5. Microsoft Learn: Schedule and automate backups of SQL Server Express databases
  6. Microsoft Learn: sqlcmd utility
  7. Microsoft Learn: schtasks create
  8. Microsoft Learn: SQL Server Express LocalDB
  9. Microsoft Learn: In-place change of a SQL Server edition (Setup)
  10. Microsoft Learn: Supported version and edition upgrades (SQL Server 2025)
  11. Microsoft Learn: SERVERPROPERTY (Transact-SQL)
  12. Microsoft Learn: Configure SQL Server settings with environment variables on Linux

SQL Server Sürüm Seçimi

Express’ten çıkma zamanı geldi mi, birlikte bakalım

Aryasoft’un kıdemli SQL Server ekibiyle görüşün. Instance’larınızın Express sınırlarına ne kadar yaklaştığını ölçer, doğru sürümü ve lisansı önerir, yükseltmeyi yedekleme ve izleme düzeniyle birlikte yaparız. Fiyat teklifi almak için bize ulaşabilirsiniz.

4.7/5