Bir Sql veritabanı temel olarak iki dosyadan oluşur. Bunlardan birincisi
Data Fileolarak 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.