Ana içeriğe geç
Kesit SQL
İleri · Veritabanı Yönetimi (DBA)

SQL Server mimarisi: instance, dosyalar ve sistem veritabanları

Veritabanı nasıl saklanır? mdf/ldf, sayfalar, tempdb, buffer pool.

Uygulamada aç, 4 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Instance ve veritabanı

Bir sunucuya kurulan her SQL Server hizmetine instance denir; bir makinede birden çok instance olabilir. Her instance içinde birçok veritabanı bulunur.

Sistem veritabanları

VeritabanıGörevi
masterInstance'ın kaydı: login'ler, veritabanı listesi, ayarlar. Kaybı ciddi sorundur, yedeklenmelidir.
modelYeni veritabanları için şablon.
msdbSQL Server Agent işleri, yedekleme geçmişi, zamanlamalar.
tempdbGeçici tablolar, sıralama ve karma işlemleri, satır sürümleri. Her yeniden başlatmada sıfırlanır; performans için çok önemlidir.

Dosyalar

Sayfa ve kapsam

Veri diskte 8 KB'lık sayfalar halinde saklanır; 8 ardışık sayfa bir kapsamdır (extent, 64 KB). Bir satır (LOB hariç) bir sayfaya sığmalıdır. Sorgu performansındaki “mantıksal okuma” bu sayfaların sayısıdır.

Bellek: buffer pool

Okunan sayfalar bellekteki buffer pool'da tutulur. Değiştirilen (kirli) sayfalar hemen diske yazılmaz; checkpoint süreci periyodik olarak yazar. Günlük ise her COMMIT'te diske yazılır; dayanıklılığı (ACID'deki D) sağlayan budur.

Bilgi alma sorguları

SELECT name, recovery_model_desc, state_desc FROM sys.databases;

SELECT name, type_desc, physical_name, size * 8 / 1024 AS boyut_mb
FROM sys.database_files;

SELECT @@VERSION;
Diğer SQL türlerinde karşılıklarPostgreSQL'de “cluster” bir instance'tır; veri dizini (PGDATA), WAL (günlük) ve shared_buffers vardır. Oracle'da instance ile veritabanı ayrı kavramlardır; redo log, tablespace ve SGA karşılık gelir.
Alıştırmalara geç (4)