Microsoft SQL Server (kısaca MS SQL), Microsoft'un geliştirdiği ilişkisel bir veritabanı yönetim sistemidir (RDBMS). Verileri tablolarda tutar, SQL'in Microsoft uyarlaması olan Transact-SQL (T-SQL) diliyle sorgulanır ve tek bir masaüstü uygulamasından binlerce eşzamanlı kullanıcıya hizmet veren kurumsal sistemlere kadar geniş bir ölçekte kullanılır.

Microsoft SQL Server nedir?

SQL Server, verilerin güvenilir biçimde saklanması, sorgulanması ve yönetilmesi için tasarlanmış bir ilişkisel veritabanı yönetim sistemidir. Veriler satır ve sütunlardan oluşan tablolarda tutulur; tablolar arasındaki ilişkiler birincil anahtar (primary key) ve yabancı anahtar (foreign key) kısıtlarıyla tanımlanır. Sistem, işlemlerin (transaction) ACID ilkelerine (atomiklik, tutarlılık, izolasyon, kalıcılık) uygun yürütülmesini garanti eder.

SQL Server yalnızca bir depolama motoru değildir. Saklı yordamlar (stored procedure), tetikleyiciler (trigger), görünümler (view), kullanıcı tanımlı fonksiyonlar, indeksler ve kısıtlar gibi sunucu tarafı programlama araçlarıyla birlikte gelir. Bunun yanında raporlama, veri entegrasyonu ve çok boyutlu analiz için ayrı hizmet bileşenleri de sunar.

Kısa tarihçe: Sybase kökeninden bugüne

SQL Server'ın kökleri 1980'lerin sonuna, Microsoft'un Sybase ve Ashton-Tate ile yaptığı iş birliğine dayanır. İlk sürüm, Sybase'in veritabanı motoru temel alınarak OS/2 işletim sistemi için yayımlandı. Microsoft ve Sybase yolları 1990'ların ortasında ayrıldıktan sonra Microsoft, ürünü kendi başına Windows NT için geliştirmeye devam etti. Bu ortak geçmiş, SQL Server ile Sybase (SAP ASE) arasında Transact-SQL gibi bazı benzerliklerin neden bulunduğunu açıklar.

İlerleyen yıllarda ürün; sorgu iyileştirici, yüksek erişilebilirlik, sütun tabanlı depolama, bellek içi işlem ve bulut entegrasyonu gibi yeteneklerle olgunlaştı. Ürün, yılı adında taşıyan sürümlerle (örneğin SQL Server 2016, 2017, 2019, 2022) yayımlanır.

Mimari ve temel bileşenler

SQL Server, birbirinden bağımsız kurulabilen birkaç hizmetten oluşur. Bir sunucuda yalnızca veritabanı motoru çalışabileceği gibi, ihtiyaca göre analiz veya raporlama bileşenleri de eklenebilir.

BileşenKısaltmaİşlevi
Database Engine—Verinin saklanması, sorgulanması, işlem ve güvenlik yönetimi; sistemin çekirdeği
SQL Server Agent—Zamanlanmış işlerin (backup, bakım, ETL) yürütülmesi ve uyarılar
Integration ServicesSSISVeri çıkarma, dönüştürme ve yükleme (ETL) iş akışları
Analysis ServicesSSASÇok boyutlu (OLAP) ve tablosal analiz modelleri
Reporting ServicesSSRSSunucu tabanlı rapor tasarımı ve dağıtımı
Full-Text Search—Metin sütunlarında sözcük ve ifade bazlı arama

Veritabanı motorunun içinde ise sorguları yorumlayıp optimize eden query optimizer, verileri disk ve bellek arasında yöneten depolama motoru ve işlem günlüğünü (transaction log) yazan kayıt yöneticisi gibi alt sistemler bulunur.

Tek bir makinede birden fazla SQL Server örneği (instance) çalışabilir: bir varsayılan örnek ve birden çok adlandırılmış örnek. Her örnek kendi ayarlarına ve kullanıcı veritabanlarına sahiptir. Ayrıca her örnek, sistemin çalışması için gereken birkaç sistem veritabanıyla birlikte gelir:

  • master: sunucu düzeyindeki yapılandırmayı ve tüm veritabanlarının kaydını tutar.
  • model: yeni oluşturulan her veritabanı için şablon görevi görür.
  • msdb: SQL Server Agent işlerini, zamanlamaları ve yedekleme geçmişini saklar.
  • tempdb: geçici tablolar, sıralama ve satır sürümleri için kullanılan, sunucu her yeniden başladığında sıfırlanan çalışma alanıdır.

Transact-SQL (T-SQL): sorgu dili

SQL Server, standart SQL'in üzerine Microsoft'un eklediği yordamsal uzantılarla birlikte Transact-SQL dilini kullanır. T-SQL; değişkenler, akış kontrol ifadeleri (IF, WHILE), hata yönetimi (TRY...CATCH) ve saklı yordam yazımı gibi programlama yetenekleri sunar.

sql
-- Tablo oluşturma ve örnek bir sorgu
CREATE TABLE Makaleler (
    Id        INT IDENTITY(1,1) PRIMARY KEY,
    Baslik    NVARCHAR(200) NOT NULL,
    Yayin     DATE          NOT NULL,
    Goruntuleme INT          NOT NULL DEFAULT 0
);

INSERT INTO Makaleler (Baslik, Yayin)
VALUES (N'SQL Server Nedir?', '2026-09-28');

SELECT Baslik, Goruntuleme
FROM   Makaleler
WHERE  Yayin >= '2026-01-01'
ORDER  BY Goruntuleme DESC;

Tekrar eden mantığı sunucuda toplamak için saklı yordamlar kullanılır. Bu yaklaşım, ağ üzerinden gönderilen sorgu sayısını azaltır ve erişim izinlerini yordam düzeyinde denetlemeyi kolaylaştırır.

sql
CREATE PROCEDURE dbo.GoruntulemeArtir
    @MakaleId INT
AS
BEGIN
    SET NOCOUNT ON;
    UPDATE Makaleler
    SET    Goruntuleme = Goruntuleme + 1
    WHERE  Id = @MakaleId;
END;

Sürümler (editions) ve dağıtım seçenekleri

SQL Server tek bir ürün değil, farklı ihtiyaçlara göre ayrılmış birkaç sürüm hâlinde dağıtılır. Sürümler; desteklenen özellikler, ölçek sınırları ve lisanslama açısından farklılaşır.

SürümHedef kullanımNot
EnterpriseBüyük ölçekli, kritik iş yükleriEn geniş özellik kümesi ve ölçeklenebilirlik
StandardOrta ölçekli uygulamalarTemel veritabanı özellikleri, sınırlı kaynak tavanı
WebBarındırma / web senaryolarıWeb barındırıcıları için uygun lisans koşulları
DeveloperGeliştirme ve testEnterprise özellikleriyle aynı, ücretsiz; üretimde kullanılamaz
ExpressKüçük uygulamalar, öğrenmeÜcretsiz; veritabanı boyutu ve kaynak sınırları vardır

Windows, Linux ve container desteği

SQL Server tarihsel olarak bir Windows ürünü olarak doğdu. Ancak SQL Server 2017 ile birlikte Linux üzerinde de çalışacak biçimde yayımlandı; böylece Red Hat Enterprise Linux, Ubuntu ve SUSE gibi dağıtımlarda kurulabilir hâle geldi. Ayrıca resmi Docker imajları sayesinde container ortamlarında ve Kubernetes üzerinde de çalıştırılabilir.

Yüksek erişilebilirlik, yedekleme ve kurtarma

Kesintisiz çalışması beklenen sistemlerde SQL Server çeşitli yüksek erişilebilirlik (HA) ve olağanüstü durum kurtarma (DR) seçenekleri sunar:

  • Always On Availability Groups: Bir veritabanı grubunun birden fazla kopyada (replica) senkron veya asenkron tutulması; birincil kopya devre dışı kaldığında otomatik veya elle geçiş (failover).
  • Yedekleme ve geri yükleme (backup/restore): Tam, fark (differential) ve işlem günlüğü yedekleriyle esnek bir kurtarma stratejisi.
  • Kurtarma modelleri: Simple, Full ve Bulk-logged modelleri, veri kaybı toleransına göre işlem günlüğünün nasıl tutulacağını belirler.
  • Replication: Verinin birden çok sunucu arasında dağıtılması veya çoğaltılması.

Güvenlik özellikleri

SQL Server, kimlik doğrulama için iki mod destekler: yalnızca Windows kimlik doğrulaması ve karma mod (Windows + SQL Server oturum açma bilgileri). Yetkilendirme, sunucu ve veritabanı düzeyinde roller ve nesne bazlı izinlerle yönetilir. Verinin korunmasına yönelik başlıca yetenekler şunlardır:

  • Transparent Data Encryption (TDE): Veritabanı dosyalarının ve yedeklerin disk üzerinde (at rest) şifrelenmesi.
  • Always Encrypted: Hassas sütunların istemci tarafında şifrelenmesi; anahtarlar sunucuya açık biçimde verilmez.
  • Row-Level Security (RLS): Kullanıcının yalnızca yetkili olduğu satırları görmesini sağlayan satır düzeyinde erişim denetimi.
  • Dynamic Data Masking: Sorgu sonuçlarında hassas alanların (ör. kart numarası) maskeler ardında gösterilmesi.

Performans: indeksleme, columnstore ve bellek içi işlemler

Sorgu performansının temelinde doğru indeksleme yatar. SQL Server, tabloyu fiziksel olarak sıralayan clustered index ile ayrı bir arama yapısı sunan nonclustered index arasında ayrım yapar. Bunlara ek olarak, analitik iş yükleri için sütun tabanlı depolama sağlayan columnstore indeksleri ve bellekte tutulan tablolarla çalışan In-Memory OLTP yetenekleri sunar.

Optimizer'ın iyi kararlar verebilmesi, verilerin dağılımını özetleyen istatistiklerin güncel olmasına bağlıdır. Zamanla değişen sorgu planlarını izlemek ve gerilemeleri (regression) yakalamak içinse Query Store özelliği, geçmiş plan ve çalışma zamanı verilerini veritabanında saklar.

Eşzamanlılık tarafında, kilitlerin okuyucuları engellemesini azaltmak için snapshot tabanlı izolasyon düzeyleri kullanılabilir; bu yaklaşımda satır sürümleri tempdb üzerinde tutulur. Uygulama için doğru izolasyon düzeyini seçmek, tutarlılık ile eşzamanlılık arasındaki dengeyi belirler.

Bulutta SQL Server: Azure SQL ailesi

Microsoft, SQL Server motorunu bulutta yönetilen hizmetler olarak da sunar. Bu seçenekler, altyapı bakımının önemli bir kısmını sağlayıcıya devretmenizi sağlar:

  • Azure SQL Database: Tam yönetilen, tek veritabanı odaklı platform hizmeti (PaaS).
  • Azure SQL Managed Instance: Şirket içi SQL Server ile yüksek uyumluluk sunan, yönetilen örnek modeli.
  • SQL Server on Azure VM: Sanal makine üzerinde tam denetimli, geleneksel kurulum (IaaS).

Yönetilen veritabanı hizmetlerini genel olarak karşılaştırmak için bulut veritabanı servisleri yazısına göz atabilirsiniz.

SQL Server ne zaman tercih edilir?

SQL Server; güçlü işlem garantileri, olgun araç ekosistemi ve Microsoft yığınıyla (Windows Server, .NET, Azure, Active Directory) sıkı entegrasyon isteyen ekipler için doğal bir seçimdir. Kurumsal raporlama, ETL ve analiz bileşenlerinin aynı çatı altında bulunması da çoğu senaryoda avantaj sağlar.

Bununla birlikte SQL Server, ilişkisel veritabanı seçeneklerinden yalnızca biridir. Açık kaynak ve lisans maliyeti öncelikliyse PostgreSQL veya MySQL; büyük ölçekli kurumsal geçmişe sahip bir alternatif arıyorsanız Oracle Database değerlendirilebilir. Seçenekleri bütünsel görmek için veritabanı türleri rehberi iyi bir başlangıç noktasıdır.

Yönetim ve geliştirme araçları

SQL Server ekosistemi olgun bir araç setiyle gelir. En yaygın kullanılanlar: grafik yönetim için SQL Server Management Studio (SSMS), platformlar arası ve hafif bir alternatif olan Azure Data Studio, komut satırı için sqlcmd ve toplu veri aktarımı için bcp araçlarıdır.

Geliştiriciler için ADO.NET, Entity Framework, JDBC, ODBC ve OLE DB gibi resmi sürücüler ve çeşitli dillere ait istemci kütüphaneleri bulunur. Bu sayede SQL Server, .NET dışındaki Java, Python veya Node.js gibi yığınlardan da rahatça kullanılabilir. Sağlık durumunu izlemek içinse Dynamic Management View'lar (DMV) ve Extended Events gibi yerleşik tanılama araçları vardır.

Lisanslama hakkında kısa not

SQL Server'ın ücretli sürümleri genel olarak iki lisanslama modeliyle sunulur: çekirdek başına (per-core) lisanslama ve Sunucu + İstemci Erişim Lisansı (Server + CAL) modeli. Hangi modelin uygun olduğu; sürüme, çekirdek sayısına ve kullanıcı/cihaz sayısına göre değişir.