Sql server ı ilk kurduğumuzda karşımıza 4 tane sistem veritabanı çıkar..bunlar master/model / msdb ve tempdb veritabanlarıdır..master veritabanı sistemin bütününü izlemeyi sağlayan sistem tabloları kümesini içine alır örneğin server üzerinde yeni bir veritabanı oluşturulduğunda girdiğimiz kayıt master veritabanındaki sysdatabases da yer alır..buraya sorgu çektiğimde beni en çok şaşırtan şey diğer veritabanlarıyla beraber master ın kendi veritabanınıda tutması.işin ne kadar teknolojik olduğunu gösteriyor sanırım

kıssadan hisse server ı tanımlayan herşey master veritabanında saklanır ve silinemez..bu açıdan oldukça kritiktir.Model veritabanıda oluşturacağımız her yeni veritabanı için model veritabanı bir şablon oluşturur...Bunun anlamı isterseniz yeni oluşturulucak veritabanının nasıl olacağını model veritabanında değişiklik yaparak belirleyebilmenizdir..Model veritabanı hakkındaki en önemli püf noktalardan biri : Oluşturulacak herhangi veritabanı model veritabanının büyüklüğünde olmak zorundadır..Bunun anlami eğer model veritabanını büyüklük olarak 100 MB seçerseniz 100 MB dan küçük bir veritabanı oluşturamassınız

Msdb veritabanı sql agent işlem sürecinin herhangi bir sistem görevini sakladığı yerdir..eğer veritabanı üzerinde geceleri yedekleme işleminin çalışmasına dair bir görev zamanlayı oluşturduysanız bununla ilgili kayıt msdb de yer alır..Sp lerin ilk çalışması ile ilgili kayıtta burda tutulur..Tempdb veritabanı server için anahtar çalışma alanlarından biridir..karmaşık yada geniş bir sorgulama yapıldığında sql server ın geçici tablolar oluşturması gerekirse bu işlemi tempdb yoluyla yapar..aynı zaman # ve ## işaretleriyle oluşturduğumuz yerel ve global geçici tablolar da burada tutulur..Ayrıca veritabanının kendiside geçicidir..sql server her yeniden başlatıldığında tamamen sıfırdan yeniden oluşturulur.. Şimdi kısaca yerel ve global geçici tablo nedir..nasıl oluşturulur ve ne işe yarar örnek verip makaleyi bitirelim ;

 

ÖRNEK 1:

createtable #LocalGecici
(id int,
adi varchar(50))


ÖRNEK 2:

createtable ##GlobalGecici
(adi varchar(100),
soyadi varchar(100))

 

ÖRNEK1 AÇIKLAMA :

local temporary table kendisini oluşturan connection koptuğu anda silinir.bu local temporary table lara sadece bu tabloyu oluşturan connectionu kullanan kişiler ulaşabilir.

 


ÖRNEK2 AÇIKLAMA :

SQL Server'a bağlı en son connection kopana kadar global geçici tablo silinemez ve server a bağlanan herkez bu tabloya erişebilir.