Hoşgeldin Misafir

MSSQL System Databases Nedir ?

By_Nimetullah

10 Şub 2023
1,718 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
SQL Server'da bulunan bu veritabanları dört tanedir bunlar: Model DB, Master DB, MSDB ve Temp DB. Peki bu veritabanları kısaca nedir ve ne işe yararlar? İlk olarak Master DB'den başlayalım.

Master DB:
Kullanıcılar, veritabanları, sistem dosyaları gibi SQL Server sisteminin temel bilgilerini tutar. Bu veritabanında hangi veritabanlarının hangi kullanıcılarla ilişkili olduğu, sistemde hangi veritabanlarının mevcut olduğu, hangi kullanıcıların mevcut olduğu gibi önemli bilgiler yer alır. Ve eğer sunucuyu başka bir ortama taşıyorsak bu veritabanını olduğu gibi taşımak işlerimizi kolaylaştırabilir. Bu veritabanı olmazsa SQL Server çalışmaz.

Model DB:
Bu veritabanı adından da anlaşılabileceği gibi model veritabanıdır. Yeni bir veritabanı oluşturulduğunda bu veritabanının bir kopyası oluşturulur. Eğer oluşturduğunuz her veritabanında olmasını istediğiniz tablolar, fonksiyonlar ya da başka bir özellik varsa bu veritabanına eklemeniz yeterli olacaktır. Bu veritabanı silinir ya da zarar gelirse SQL Server çalışmaz.

MSDB:
SQL Server Agent servisi bu veritabanını kullanır. Periyodik olarak her türlü işlem (joblar vb.) buradadır. Joblarda yapılan değişimlerin log kayıtları da burada saklanır. Bu veritabanı olmazsa SQL Server çalışır ama Agent servisini kullanamadığımız için periyodik olarak gerçekleşen işlemleri gerçekleştiremeyiz.

Temp DB:
Geçici tablolar burada oluşur (RAM'de yer alan tablolar) ve kullanıcı veritabanlarından group by, order by, sum gibi komutlarla yaptığımız aggregation (bir dizi değer üzerinde hesaplama yaparak sonuç değere ulaşılan) işlemler için bu veritabanı kullanılır. Peki, neden bu veritabanına ihtiyaç duyarız? Önemli veritabanlarında doğrudan üzerinde işlem yapmak pek mantıklı değildir, o nedenle sistem ve kullanıcı objelerinin bir kopyasını burada oluşturur ve onlar üzerinde işlem yaparız. Eğer bu veritabanı olmaz ya da silinirse SQL Server sorunsuz bir şekilde çalışır çünkü sistem her açıldığında yeniden oluşturulan bir veritabanıdır yani eğer silerseniz ya da bir zarar gelirse yeniden oluşturulur ve SQL Server çalışmaya devam eder.