เวลาเราเรียกใช้งาน SQL Server Management Studio (SSMS) จะพบว่า SQL Server นั้นมี database สร้างไว้อยู่แล้ว 4 DB เราจะเรียก DB เหล่านี้ว่า System Database ซึ่งประกอบไปด้วย
Master
-
– เป็น database หลัก จะเป็นที่เก็บค่าคอนฟิกของ SQL server เช่น Instance configuration, login, linked server เป็นต้น และจะเป็น database ตัวแรกที่ถูกโหลดขึ้นมาเวลา SQL Server ทำงาน
– ซึ่งถ้า Master database corrupt ล่ะก็ start service ไม่ขึ้นกันทีเดียว ดังนั้นแนะนำให้ backup Master database ไว้เป็นระยะๆ ด้วยนะครับ
TempDB
-
– ตามชื่อเลยครับ เป็น database ชั่วคราว เช่นเป็นที่อยู่ของ temporary tables, พี่พัก result ที่ได้ระหว่าง join หลายๆ table, ที่พักตอน sort, row version สำหรับงาน snapshot
– โดย TempDB จะถูกเคลียร์ที่ครั้งที่ SQL server start ดังนั้นจึงไม่จำเป็นต้อง backup TempDB
– และเพื่อให้ SQL server ทำงานได้เร็วขึ้น แนะนำให้ย้าย TempDB ไปไว้ใน disk ลูกที่เร็วที่สุดครับ
Model
-
– เป็น template database เช่นถ้าอยากให้ database ใหม่ที่สร้างหลังจากนี้มี table, store procedure, user หรืออื่นๆ อยู่ในทุก database ก็ให้มาสร้าง object เหล่านั้นไว้ใน Model database แต่จะไม่มีผลกับ database ที่เคยสร้างไว้ก่อนหน้าแล้วนะครับ มีผลกับของใหม่เท่านั้น
MSDB
-
– ใช้เก็บคอนฟิกของ SQL Agent, SSIS package (หรือ DTS package ในสมัย SQL 2000) นอกจากนี้ยังเก็บข้อมูลประวัติ backup ไว้ด้วย ซึ่งจะมีประโยชน์มากเวลาต้องการรู้ว่า database ไหน backup ไปเมื่อไหร่
นอกจากนี้ยังมี system database อื่นๆ อีกขึ้นอยู่กับว่าได้ติดตั้งและใช้งานฟีเจอร์อื่นๆ หรือไม่ เช่น Resource, Distribution และ ReportServer