bylge-logo

    Bylge

    SQL SERVER SİSTEM VERİTABANLARI

    SQL SERVER SYSTEM DATABASES SQL Server kendi kendi yönetirken de aslında bir takım veri tabanlarını kullanır işte bu veritabanları sistem veritabanları yada si

    Picture of the inadınayazar

    inadınayazar

    @matul

    SQL SERVER SYSTEM DATABASES


    SQL Server kendi kendi yönetirken de aslında bir takım veri tabanlarını kullanır işte bu veritabanları sistem veritabanları yada sistem databaseleri olarak adlandırılır.


    SQL_SERVER_SİSTEM_VERİTABANLARI



    Yukarıdaki resimde görüldüğü üzere Databases altında System Databases klasörü içerisinde bulunur.


    MASTER DB


    Sistem veritabanlarından en önemlisi olan Master Db;

    • Sistem Könfigürasyonu,

    • Kullanıcılar,

    • Veritabanları,

    • Sistem Dosyaları,

    • Collation Bilgisi


    gibi Sql Server sisteminin temel konfigürasyon bilgilerini tutar.Sql Server Hizmeti Çalışır durumda iken master.mdf ve mastlog.ldf dosyaları üzerinde değişiklik yapmanıza izin vermez ama hizmeti durdurur iseniz dosya üzerinde değişkik yapabilirsiniz eğer dosyayı silecek olursanız Sql Server çalışmayacaktır.


    MODEL DB


    • Şablon Veritabanıdır.

    • Her bir oluşturulacak veritabanı ModelDB'nin bir kopyası olarak oluşturulur.

    • Her veritabanında otomatik olarak olmasını istediğimiz tipler ,fonksiyonlar,tablolar var ise bu veritabanının içine konulabilir.


    Şimdi bir örnek ile yazdıklarımı tasdikleyeyim . İlk olarak ModelDB içerisine bir tablo ekledim.


    SQL_SERVER_SİSTEM_VERİTABANLARI



    Sonrasında bylge adında bir veritabanı oluşturdum.


    SQL_SERVER_SİSTEM_VERİTABANLARI



    Ve sürpriz. Yeni oluşturduğumuz veritabanı içerisinde , ModelDB içerisinde oluşturduğumuz tablonun aynısı otomatik olarak eklenmiş durumda.



    SQL_SERVER_SİSTEM_VERİTABANLARI


    Aslında bakarsınız bu özelliği hayatınız boyunca hiç kullanmayabilirsiniz. Peki ne işe yarıyor bu? Örneğin; Hosting firmaları size bir veritabanı veriyor,bu firmalar sizin oluşturduğunuz veri tabanlarında otomatik olarak eklenmesini istediği fonksiyonlar,tablolar olabilir. Bunları herseferinde scriptler ile oluşturmak yerine modeldb içerisinde tanımlayabilir.


    Master DB de olduğu gibi bu model.mdf ve model.ldf dosyaları üzerinde değişiklik yapmanıza izin vermez ama hizmeti durdurur iseniz dosya üzerinde değişkik yapabilirsiniz eğer dosyayı silecek olursanız Sql Server çalışmayacaktır.


    MSDB


    • SQL Server Agent servisinin kullandığı bir veritabanıdır.

    • Periyodik olarak çalıştırılan her türlü işlem(job lar ,scheduler lar,alert ler) burada tutulur.


    SQL Server Agent’ı kabaca açıklamak gerekirse sistem üzerinde belirlenmiş işleri belli periyotlar halinde çalıştıran bir servisdir. Bir örnek ile daha iyi anlaşılacaktır.


    SQL SERVER AGENT

    İlk olarak TEST adlı bir veritabanı ve DATES adlı bir tablo oluşturuyorum.



    SQL_SERVER_SİSTEM_VERİTABANLARI



    SQL_SERVER_SİSTEM_VERİTABANLARI


    Şimdi ise bir job oluşturacağım .Otamatik kayıt at adında her 10 saniyede bir DATES tabloma günün tarihini yazdıracak bir job oluşturdum.(yazımızın asıl konusu sistem databaseleri olduğu için job oluşturmayı detaylı olarak anlatmadım google da kolayca bulabilirsiniz.)


    Aşağıdaki resimde görüldüğü gibi tabloma her 10 saniyede 1 kayıtlar atılmış ve atılmaya devam ediyor.


    SQL_SERVER_SİSTEM_VERİTABANLARI



    SELECT * FROM SYSJOBS sorgusu ile MSDB içerisinde jobların tutulduğu tabloyu çekiyorum. Oluşturmuş olduğum otomatik kayıt at jobını görebilirsiniz.



    SQL_SERVER_SİSTEM_VERİTABANLARI



    İşte MSDB , SQL Server’a bağlı bir hizmet olan SQL Server Agent hizmetinin bilgilerini tutar. Eğer bu veritabanın dosyalarını silecek olursanız SQL Server çalışacak fakat SQL Server Agent hizmeti çalışmayacaktır.


    TEMP DB




    Published Date:

    May 02, 2021

    Updated Date:

    December 02, 2023