SQL Server dosya yapısı

SQL Server Dosya Yapısı

Sql Server veritabanlarını ve içerisindeki nesne ve verileri saklarken bir dosya sistemi kullanır.

SQL 3 farklı dosya kullanılır.

  1. Primary Data Dosyaları
  • Her veritabanı kendisine özgü bir primary data dosyasına sahip olmak zorundadır
  • Bu data dosyaları .mdf (master data file) uzantılıdır.
  • Bu dosyalarda veritabanlarındaki asıl datalar tutulur.
  • Her veritabanı için en fazla 1 tane primary data dosyası olabilir

2. Secondary Data Dosyaları

  • Her bir veritabanı için bir tane primary data dosyası olması bize bazı kısıtlamalar getirmektedir.
  • Özellikle data dosyalarını farklı disklere bölerken veya primary data dosyasının boyutunun çok arttığı zaman secondary data dosyasına ihtiyaç duyarız.
  • Bu dosyalar ndf uzantılıdır.
  • Primary data dosyasından farklı bir veritabanı için birden fazla secondary data dosyası kullanabiliriz.

3. Transaction Log Dosyaları

  • Her veritabanı .ldf (Log data file) uzantılı en az 1 tane log dosyasına sahip olmalıdır.
  • Veritabanı üzerinde yaptığımız her işlemin kaydının tutulduğu bu dosyalar veritabanı için hayati öneme sahiptirler.

Herhangi bir veritabanı üzerinde yaptığımız değişiklikler doğrudan SQL Server’ın veri dosyalarına yazılmaz. Bunun yerine SQL Server değişiklikleri önce transaction log dosyalarına yazar ve sizden işlem tamamlandığına dair bir komut geldiğinde (commit) transaction log dosyasına bu işlemin başarılı şekilde tamamlandığı yazılır. Belli bir süre sonra başarı ile tamamlanan bu işlemler gerçek veri dosyalarına yazılır.

Bilgilendirme: Aşağıda görüldüğü üzere bir veritabanı oluşturduğumuzda (Örn : DENEME) bir Primary data dosyamız, bir de LOG dosyamız oluşmakta. Bu dosyalar default da SQL Server’ımız nasıl yapılandırmıssa o şekilde oluşmakta. 

NOT: Aşağıdaki default da bırakılmış hali, ama best practise’de data ve log dosyaları C dışında ayrı bir diskte tutulmalıdır. (Örn : D :DATA, E:LOG )

Aşağıda gördüğünüz gibi Server özelliklerimizde Database Default Locations neresi olarak yapılandırılmışsa bir veritabanı olarak varsayılan olarak o dizinde mdf ve ldf dosyaları oluşmaktadır.

Biz Server Properties → Database Settings → Database default locations dan default lokasyonu değiştirebilmekteyiz ama restart gerektiren bir işlemdir.

Veritabanı dosyalarının lokasyonunu hakkında daha ayrıntılı yazıya buradan ulaşabilirsiniz.

Bir cevap yazın

Kişisel Web sayfama hoş geldiniz..