Bir Sql veritabanı temel olarak iki dosyadan oluşur. Bunlardan birincisi Data File olarak adlandırılan, tablo, dizin gibi verileri tutan dosyadır. Diğeri ise veritabanında meydana gelen değişiklikleri tutan bir çeşit seyir defteri diyebileceğimiz Transaction Log olarak adlandırılan dosyadır. Veri ve seyir bilgileri birden fazla dosya üzerine yayılabilir. Bu sayede farklı disklerin gücü bir arada kullanılarak yük dengelemesi sağlanabilir.
SQL Server veritabanlarını, Enterprise Manager’ı kullanarak rahatlıkla oluşturabilir, üzerinde istediğimiz düzenlemeleri yapabiliriz.
Veritabanı Oluşturma
Enterprise Manager’ı başlatalım.SQL Server Group başlığından sunucumuzu seçelim. Databases başlığına sağ tıklayıp New Database seçeneğini seçelim.
1.Şekil – Yeni veritabanı
Açılan menüden oluşturacağımız yeni veritabanına ismini verelim.
2.Şekil – Veritabanı ismi
Üstteki sekmelerden Data Files kısmında veritabanını oluşturacak fiziksel dosyalar ile ilgili ayarları yapmak mümkün. Location başlığındaki simgesini kullanarak veritabanın verilerini tutacak fiziksel dosyaların yerini belirleyebiliriz. Burada birden fazla dosya belirterek veriyi farklı fiziksel dosyalara bölmek mümkün. İlk dosyanın varsayılan uzantısı mdf iken, sonrakilerinki ndf‘dir. Automatically grow file seçeneği, gerektiğinde veri dosyalarının boyutunun otomatik olarak arttırılmasını sağlar. Otomatik artış yüzde (by percent), ya da boyut (in megabytes) olarak belirlenebilir. Hemen yandaki menüden veri dosyalarının en fazla hangi boyuta ulaşacağı belirlenebilir. Unrestricted file growth seçeneği bir üst sınır koymazken, Restrict file growth (mb)seçeneği dosyanın ulaşabileceği en yüksek boyutu megabyte cinsinden tanımlar.
Aynı seçenekler, üst kısımdan Transaction Log sekmesini seçtiğimizde de karşımıza gelecektir. Burdaki seçenekler de aynı ayarları seyir defteri bilgileri (transaction log) için yapmayı sağlar. Seyir defterlerinin (Transaction Log) varsayılan uzantısı ldf‘dir. Bu ayarları yaptıktan OK komut düğmesiyle pencereyi kapatalım.
Yeni bir veritabanı oluşturmak için yapmamız gerekenler bu kadar kolay. Artık SQL sunucumuzun veritabanları başlığı altında yeni oluşturduğumuz veritabanını görebiliriz.
3.Şekil – Yeni oluşturulan veritabanı
Burada bizim oluşturmadığımız, SQL Server kurulumu sırasında yüklenen bazı veritabanları dikkat çekiyor. Bu veritabanlarını sırasıyla inceleyelim;
Master:Bu veritabanı SQL Server’ın sistem düzeyindeki tüm bilgileri tuttuğu veritabanıdır. Veritabanı üzerinde tanımlanan herhangi bir nesne ya da yapılan bir ayar (tablodan saklı yordamlara, kullanıcı bilgilerinden veritabanı ayarlarına) bu veritabanı üzerinde tutulur. SQL Server için hayati önemi vardır. Bu veritabanında gelebilecek hasarlar tüm sistemi çalışmaz hale getirebilir. Bu yüzden yedeklenerek güvence altına alınmalıdır. Sorun olduğunda yapacak başka birşey kalmazsa Program Files\Microsoft SQL Server 80\Tools\Binn klasöründe bulunan rebuildm.exeisimli araç ile master veritabanını ilk haline döndürmek mümkündür. Tabi bu işlemden sonra kullanıcı girişleri gibi yapılandırmalar baştan yapılmalıdır.
Model: Model veritabanı kullanıcı tarafından oluşturulacak veritabanları için bir şablondur. Tüm veritabanlarında bulunması gereken sistem düzeyindeki bazı nesneler (veritabanı kataloğu olarak da isimlendirilirler) bu veritabanında tutulur. Kullanıcı tarafından yeni bir veritabanı oluşturulduğunda model veritabanı aynen bu veritabanına da kopyalanır. Model veritabanı üzerinde yapacağınız değişiklikler sonradan oluşturulacak tüm veritabanlarına da yansıyacaktır. Örneğin model veritabanında yeni bir tablo oluşturduğumuzda, bundan sonra oluşturacağımız tüm veritabanlarında da bu tablo oluşturulacaktır. Ayrıca yeni oluşturacağımız bir veritabanının boyutu en az bir model veritabanı boyutunda olmalıdır.
Msdb: SQL Server Agent hakkında bilgi tutan veritabanıdır. Herhangi bir zamanlanmış görev, operatör ya da yedekleme işlemi tanımlandığında, bunlara ait bilgiler msdb veritabanında tutulur.
Northwind ve Pubs: Bu iki veritabanı örnek veritabanlarıdır. Çeşitli kaynaklarda verilen örnekler çoğunlukla bu veritabanları üzerinde yoğunlaşmıştır. Bu da veritabanı farklılıkları dolayısıyla ortaya çıkacak uyuşmazlıkları ortadan kaldırır.
Tempdb: SQL Server’ın işlemlerini yaparken geçici bilgileri tutmak için tampon olarak kullandığı veritabanıdır. Örneğin büyük boyutlu veritabanlarında sıralama yapılırken sıralama için gerekli işlemler bu veritabanı üzerinde yapılır. Tempdb veritabanı SQL Server’ın her açılışında temizlenir. Tempdb veritabanını farklı bir sabit diskte tutmak performans artışı sağlayacaktır
Kaynak: