SQL Server Sistem Veri Tabanları

Master

Master veri tabanı sistem düzeyinde bilgileri tutar. Bu bilgilerden bazıları: kullanıcı hesapları, bağlı sunucular, konfigürasyon ayarları, sistemde oluşturulmuş veri tabanları…

Master veri tabanının dosya özellikleri aşağıdaki gibidir;

DosyaMantıksal AdıFiziksel AdıOtomatik Genişleme Özelliği
Primary Datamastermaster.mdf%10 genişleme ile disk boyutuna kadar
LogMasterlogMasterlog.ldf%10 genişleme ile 2TB’a kadar

Master veri tabanı kısıtları

Aşağıdaki işlemlerin master veri tabanı üzerinde yapılması sistem tarafından engellenmiştir.

master veri tabanı özelliği gereği sadece full yedek alınabilir.

Öneriler

Master Veri Tabanı Kullanılamadığında Yapılacaklar

Model

Model veri tabanı diğer veri tabalarının oluşturulmasında şablon olarak kullanılmaktadır. Kullanıcı yeni bir veri tabanı oluşturduğunda sistemin yaptığı işlem aslında model veri tabanının kopyasını çıkarmaktır. Bir diğer sistem veri tabanı olan tempdb SQL Server her başlatıldığından sıfırdan oluşturulduğundan model veri tabanının sistemde olması zorunludur.

model veri tabanının dosya özellikleri aşağıdaki gibidir;

DosyaMantıksal AdıFiziksel AdıOtomatik Genişleme Özelliği
Primary Datamodelmodel.mdf64MB genişleme ile disk boyutuna kadar
Logmodellogmodellog.ldf64MB genişleme ile 2TB’a kadar

Model Veri Tabanı Kısıtları

Aşağıdaki işlemlerin model veri tabanı üzerinde yapılması sistem tarafından engellenmiştir,

Msdb

Msdb veri tabanı SQL Server Agent servisi tarafından yönetilen otomatik alarmlar, işlemler, mail gönderme talepleri gibi sistem bilgilerini tutan veri tabanıdır.

Örneğin otomatik alınan bir yedekleme işlemi üzerinden msdb veri tabanının işlevini inceleyelim. Bu işlem sonucunda elde edilen bilgiler yedeğin ne zaman alındığı, nereye alındığı, yedeği alan uygulama gibi bilgilerdir ve bu bilgiler msdb veri tabanı içerisinde tutulur. SQL Server Management Studio üzerinde her hangi bir yedekten dönme işlemi yapılmak istendiğinde SSMS, msdb üzerinden aldığı bilgiler ile dönülebilecek yedekleri tespit eder.

DosyaMantıksal AdıFiziksel AdıOtomatik Genişleme Özelliği
Primary DataMsdbmsdb.mdf%10 genişleme ile disk boyutuna kadar
Logmsdblogmsdblog.ldf%10 genişleme ile 2TB’a kadar

Msdb Veri Tabanı Kısıtları

Aşağıdaki işlemlerin msdb üzerinde yapılması sistem tarafından engellenmiştir.

Resource

Resource veri tabanı sistem nesnelerini içeren salt okunur bir veri tabanıdır. Sistem nesneleri fiziksel olarak resource veri tabanı altında bulunuyor olsa da mantıksal olarak bütün veri tabanlarının sys şeması altında kullanılabilirler. Resouce veri tabanının önemli özelliklerinden biri de kullanıcı bazlı herhangi bir veri barındırmıyor olmasıdır.

Resource veri tabanı 2016 sürümü ile kullanılmaya başlanmıştır. Sistem nesnelerinin bu veri tabanı üzerine alınmasından sonra özellikle upgrade işlemi daha hızlı ve kolay yapılabilmektedir. Bunun sebebi önceki versiyonlarda upgrade işlemi sırasında sistem nesneleri tamamen silinip baştan oluşturuluyor iken resource veri tabanı ile artık upgrade işleminde zaten hazır bulunan sistem nesneleri yeni versiyon veri tabanlarına kopyalanarak işlem kolaylaştırılmıştır.

Resource veri tabanı dosyaları <disk>:\Program Files\Microsoft SQL Server\<SQL Server instance> \MSSQL\Binn yolunda bulunmaktadır.

Bu fiziksel dosyaların konumunun değiştirilmemesi gerekmektedir.

Resource Veri Tabanının Yedeklenmesi

Resource veri tabanı SQL Server tarafından yedeklenememektedir. Resource veri tabanının yedeklenmesinin zorunlu olduğu durumlar da her hangi bir dosya gibi farklı bir konuma kopyalanarak yedeklenebilir ancak SQL Server bu yedeği de yükleyemeyecektir. Dolayısı ile yedekten dönme işlemi için de kopyalanan bu dosyanın tekrar orijinal konumuna kopyalanması ile yedekten dönülebilir. Ancak bu şekilde yedekten dönme işlemi sırasında hatalı bir dosyayı kullanmak sistemde sıkıntılara sebep olabilmektedir.

Resource Veri Tabanı Erişimi

Resource veri tabanı sistem nesnelerini barındırdığından uzman kullanıcılar dışında müdahale edilmemesi gereken bir veri tabanıdır. Müdahale edilmesi durumunda da aşağıdaki değerlerin göz önünde bulundurulması gerekmektedir.

Resource veri tabanının versiyon bilgisi için:

SELECT SERVERPROPERTY('ResourceVersion'); 

Resource veri tabanının son güncelleme zamanı:

SELECT SERVERPROPERTY('ResourceLastUpdateDateTime'); 

Sistem nesnelerini incelemek için:

SELECT OBJECT_DEFINITION(OBJECT_ID('sys.objects')); 

Tempdb

Tempdb sistem genelinde bütün kullanıcılara açık bir veri tabanıdır. SQL Server her yeniden başlatıldığında yeniden oluşturulur.

Bağlantının sonlandırılmasından sonra oluşan otomatik tablolar ve diğer nesneler otomatik olarak silinir (DROP). Tempdb’nin bu özelliğinden dolayı yedekleme ve yedekten geri dönmeyi desteklemez.

Tempdb Kısıtları

Aşağıdaki işlemlerin tempdb üzerinde yapılması sistem tarafından engellenmiştir.

Tempdb’nin Performansa Etkisi

Tempdb veri tabanının konumu ve boyutu sistem performansına etki eder. Örneğin boyutu sistem gereksinimden düşün tutulmuş bir tempdb sistemin çalışması sırasında sürekli otomatik büyüme ihtiyacı duyacağından performansa olumsuz şekilde etkisi görülecektir.

Özellikle sorgu içerisinde yapılan ara işlemlerin tempdb üzerinde yapılmasından dolayı tempdb’nin hızlı bir disk üzerinde çalıştırılması sorguları hızlandıracaktır.

Exit mobile version