คำถามนี้ตอบยากครับ มีหลายปัจจัย เอาเป็นว่า “SQL instance เดียวหลาย database” เมื่อเปรียบเทียบกับ “1 instance 1 database” คือ
ข้อดี

    – ประหยัด resource ทั้ง processing power, และ ram เนื่องจากว่ามี SQLservr.exe แค่ process เดียว ไม่ต้องไปแย่งกับใคร
    – ประหยัดพื้นที่ฮาร์ดดิสก์เพราะทุก database ใช้ executable files ชุดเดียวกัน ในกรณีติดตั้งหลาย instance ก็จะมีไฟล์ SQLservr.exe (และไฟล์ข้างเคียง) ตามจำนวน instance
    – หากมีผู้ใช้งานหลายๆ คน คอนฟิก logins ทีเดียว แล้วนำไปใช้กับได้หลาย database

ข้อจำกัด

    – application ที่เรียกใช้งาน SQL server ทุกตัวต้องสนับสนุน SQL server เวอร์ชั่นเดียวกัน service pack และ hotfix เดียวกัน
    – อาจเกิดปัญหาเรื่อง configuration ได้ เพราะบางครับซอร์ฟแวร์สำเร็จรูปที่เรียกใช้งาน SQL server อาจต้องการ configuration parameter ในระดับของ instance ที่ต่างกันก็ได้
    – หากมี DBA หลายทีม หรือ application owner หลายทีม จะแยกกันทำงานลำบาก

ซึ่งในบางสถานการณ์นอกจากควรจะแยก instance แล้ว แยก OS กันเลยอาจเหมาะสมกว่าครับ

Advertisement