Microsoft SQL Server ยอมให้เรามี SQL Server Service หลายๆ ตัวได้ในเครื่องเซิร์ฟเวอร์เดียวกัน โดยใช้ฟีเจอร์ที่ชื่อว่า Named Instance ซึ่งเราสามารถตั้งชื่อ SQL instance แต่ละตัวแยกกันได้ โดยการเรียกใช้จะเป็น “ServerName\InstanceName” ซึ่งจะพ่วงชื่อ instance มาด้วย ต่างกับ default instance ที่อ้างแค่ชื่อเซิร์ฟเวอร์เปล่าๆ แบบนี้ “ServerName”
สำหรับการตั้งชื่อนั้นทำได้ตั้งแต่ตอนที่ติดตั้ง SQL Server โดยหากไม่ระบุ named instance จะได้ชื่อ instance เป็น MSSQLSERVER ซึ่งก็คือ default instance หรือชื่อเซิร์ฟเวอร์เปล่าๆ นั่นเอง และหากต้องการ instance เพิ่มก็แค่รัน setup.exe ซ้ำอีกครั้ง แล้วก็เลือกชื่อ instance ที่ไม่ซ้ำกับของเดิมครับ
ข้อควรระวังสำหรับผู้ใช้งาน SQL Express Edition
SQL Express Edition จะต่างกับของเสียเงินนิดนึงหากไม่ระบุชื่อ instance จะสร้าง named instance ที่ชื่อว่า SQLExpress ให้อัตโนมัติ ดังนั้นเวลาใช้งานก็ต้องอ้างเป็น “ServerName\SQLExpress” แต่ถ้าอยากได้ default instance ใน SQL Express Edition ก็ให้เลือกตั้งชื่อเป็น MSSQLSERVER แทน ก็จะได้ default instance เวลาใช้งานสามารถอ้างเป็นชื่อเซิร์ฟเวอร์เปล่าๆ ได้เลยครับ
ข้อดีของการมีหลาย SQL Instance ในเครื่องเดียว
1) สามารถติดตั้ง SQL Server ได้หลายเวอร์ชั่น หลาย Edition ในเซิร์ฟเวอร์เครื่องเดียวกัน เช่น
1a) มี SQL 2008 R2 Standard สำหรับงาน production และมี SQL 2008 Express สำหรับทำเป็นระบบทดสอบในเครื่องเดียว
1b) บางโปรแกรมต้องกำหนด collation พิเศษ ซึ่งอาจส่งผลกระทบต่อ database อื่นในกรณีที่มี instance เดียวได้
2) การบริหารจัดการและดูแลรักษาของแต่ละ Named Instance แยกจากกัน
เช่น เวลาแพตช์ SQL Express ต้องมี downtime ก็ทำได้ โดยอีก instance ที่เป็น SQL Standard ก็ยังทำงานได้ตามปกติ
แล้วข้อควรระวังของหลาย instance ล่ะ
1) ใช้ทรัพยากรของเครื่องเซิร์ฟเวอร์มากกว่า มีหลาย database แต่ใช้ Instance เดียว
2) ต้องระวังเรื่อง Disk I/O throughput และ Network Bandwidth ของ instance ที่ใช้งานสูงอาจกระทบกับ instance อื่นได้
3) ภาระบริหารจัดการจะสูงขึ้นเพราะต้องดูแลหลายที่ เช่น แพตช์, login, permission ก็ต้องทำหลายที่
4) การคิด license
4a) SQL 2005 – เฉพาะ processor license และ Enterprise server license ที่สามารถทำหลาย instance โดยไม่ต้องซื้อเพิ่มได้
4b) SQL 2008 – ทั้ง processor license และ server license ไม่ว่าจะ edition ไหน ก็สามารถทำหลาย instance โดยไม่ต้องซื้อเพิ่มได้ อ่านเพิ่ม ที่นี่
4c) SQL 2008 R2 – ยังไม่มีข้อมูล
ดังนั้นเรื่อง License แนะนำให้ปรึกษากับไมโครซอฟท์หรือคนขายก่อนจะดีกว่าครับ