SQL Server License เลือกง่าย ๆ ประหยัดได้หลายแสน!!

13 พฤษภาคม 2019

สวัสดีครับคุณผู้อ่าน กลับมาพบกันอีกครั้งนะครับ ตามที่ได้สัญญากันไว้ว่าจะมาเขียนเรื่องการเลือกใช้ Microsoft SQL Server License

วันนี้ผู้เขียนจะมาอธิบายให้เข้าใจได้ง่ายขึ้นนะครับ ณ วันที่เขียน (11/4/2019) Microsoft SQL Server Version ล่าสุดที่มีจะเป็น Microsoft SQL Server 2017 (รุ่น 2019 ยังไม่ออกมาเต็มตัว) มี 5 Editions คือ

  1. Standard Edition เป็น Edition ทั่วไปที่นิยมใช้งานกันมากที่สุด มี Feature ที่เพียงต่อการใช้งาน
  2. Enterprise Edition ตามชื่อคือ Enterprise ใช้สำหรับ Environment ที่ Critical มาก ๆ Down ไม่ได้ มี Feature ให้เลือกใช้ทุกแบบ ตัวอย่างเช่น Always On, HA, DR และ Backup
  3. Web Edition ใช้กับ Web เช่น Web Hosting มีขายเฉพาะ SPLA License เท่านั้น ราคาถูกที่สุด
  4. Developer Edition สำหรับ Developer ไว้เพื่อทดสอบระบบ เป็นตัวฟรี Feature เทียบเท่า Enterprise edition
  5. Express Edition สำหรับใช้งานใน Environment เล็ก ๆ เป็นตัวฟรีเช่นกัน

แต่สำหรับ License ที่จะนำมาเปรียบเทียบและที่เป็นที่นิยม Popular มาก ๆ ของ SQL Server มี 2 Edition คือ Standard กับ Enterprise

เรามาเริ่มที่ Volume License ของ SQL Server ที่เป็น Standard Edition กันครับ

Volume License ของ SQL Server Standard Edition มี 2 แบบ

    แบบที่ 1 เป็นการคิดจาก CAL - จะแบ่งออกเป็น 2 ส่วน คือ ส่วนที่ 1 คิดราคาตามจำนวน CPU Core ของ Server + ส่วนที่ 2 คิดตามจำนวน CAL (เรียกแบบนี้ว่า CAL Model)

    สำหรับส่วนที่ 1 (Server) Microsoft ให้นับเป็นแบบ Physical Core หรือ Virtual Core เช่น Server มี 8 Core ก็จะใช้ License แบบ Per Core License 4 License (1 License = 2 Cores)

โดยขั้นต่ำของ Microsoft ระบุไว้ว่าต้อง License อย่างน้อย 4 Cores

    สำหรับส่วนที่ 2 (CAL) Client Access License เป็น License ที่จะทำให้มีสิทธิ์ในการเข้าใช้งาน Server แบ่งแยกออกเป็น 2 แบบ คือ

  1. User CAL นับตามจำนวน User จะใช้งานจากกี่ Device ก็ได้ เช่น คอม, มือถือ หรือแท็บเล็ต ที่เชื่อมต่อไปหา Server
  2. Device CAL นับตามจำนวน Device ที่เข้าใช้งาน Server

เคล็ดลับสำหรับการเลือกใช้ CAL ใช้แบบไหนดี ? วิธีการตามนี้

  1. ถ้า Device ที่ใช้มีมากกว่า User ให้ใช้ User CAL (ตัวอย่างเช่น User มี Laptop, Smartphone และ Tablet ที่สามารถเข้าถึง Server ได้)
  2. ถ้า User มีมากกว่า Device ที่ Access ให้ใช้ Device CAL เช่น ทำงานเป็นกะ, โรงเรียนและโรงพยาบาล ใช้เครื่องเดียวกันผลัดเปลี่ยนหลายคน

    แบบที่ 2 เป็นการซื้อเหมาไม่จำกัด CAL - คิดตาม CPU Core ของ Server (เรียกแบบนี้ว่า Per Core Model)

    สามารถซื้อใช้กับ Physical Server และ Virtual Server ก็ได้ มีขั้นต่ำที่ Microsoft ระบุไว้ว่าต้อง License ให้กับ Server อย่างน้อย 4 Cores ต่อ Processor

ถัดมาจะเป็น Volume License ของ SQL Server ที่เป็น Enterprise Edition ครับผม

Volume License ของ SQL Server Enterprise Edition จะคิดราคาแค่แบบเดียวคือ Per Core Model

    เป็น Per Core Model เหมือนกับ Standard Edition แต่จะต่างกันที่ Feature ที่ Enterprise มีให้มากกว่า

ข้อเสียของ Volume License คือ

  1. ไม่สามารถใช้งาน Version ใหม่ หรือ เก่ากว่าได้
  2. ไม่สามารถย้าย License จาก On-Premise ไป Virtual หรือ Cloud ได้

ปัญหาทั้ง 2 ข้อด้านบนจะหมดไป ถ้าคุณซื้อ Volume License + SA (Software Assurance)

Software Assurance ช่วยให้ผู้ใช้ได้ประโยชน์จากการใช้ License ได้แบบเต็มเม็ดเต็มหน่วย โดยประโยชน์ที่จะได้มีดังนี้ครับ

สำหรับ Standard Edition

  1. สามารถใช้งาน Version ที่ออกมาใหม่ได้ เช่น ปัจจุบันใช้งาน Version 2017 ถ้าต้องการ Implement ใหม่ใช้งาน Version 2019 ไม่จำเป็นต้องซื้อ License ใหม่
  2. สามารถย้าย License ไปยัง Server อื่นหรือ บน Cloud ได้

สำหรับ Enterprise Edition จะเพิ่มจาก 2 ข้อด้านบน คือ

  1. ใช้งานบน Virtual ได้ไม่จำกัด VM


เทคนิคการประหยัดเงินและตัวอย่างการคำนวณราคา License

ราคา License SQL Server แบบ Volume (ณ ปี 2019)

  • SQL Server 2017 Standard Edition (Server) ราคา 28,500 บาท/License ซื้อขั้นต่ำ 4 Cores หรือ 2 Licenses
  • User/Device CAL ราคา 6,990 บาท/License
  • SQL Server 2017 Standard Edition (Core) ราคา 109,000 บาท/License ซื้อขั้นต่ำ 4 Cores หรือ 2 Licenses
  • SQL Server 2017 Enterprise Edition ราคา 424,000 บาท/License ซื้อขั้นต่ำ 4 Cores หรือ 2 Licenses

อ้างอิงจาก :  https://www.2beshop.com/Microsoft-SQL-Server.html, 1 License = 2 Cores

ยกตัวอย่างติดตั้ง Standalone

มี Physical Server อยู่ 1 เครื่อง Spec 4 CPU Core ต้องการใช้งาน SQL Server Standard มี User ใช้งาน 4 คน เข้าใช้งานผ่าน PC ของใครของมัน แบบนี้จะใช้ License ตามนี้

SQL Server Standard Edition (Server) ทั้งหมด 2 Licenses (1 License / 2 Cores อย่าลืมว่าขั้นต่ำต้องซื้อ 2 Licenses = 4 Cores) + SQL Server User CAL 4 Licenses ค่าใช้จ่ายรวมจะประมาณ (28,500 x 2) + (6990 x 4) = 84,960 บาท

หรือ ถ้านับ User ไม่ได้ มีคนใช้งานเยอะนับไม่ไหว ใช้ License แบบ Core ได้ อ้างอิงจาก Physical Server เครื่องเดิม Spec 4 CPU Core จะใช้ SQL Server 2018 Standard Edition (Core) ทั้งหมด 2 Licenses

ค่าใช้จ่าย 109,000 x 2 = 218,000 บาท

จุดคุ้มทุน ถ้าเทียบที่ 4 Cores แบบ Server + CAL ต้องมี User <= 40 Users ถ้า User ใช้มากกว่านั้น ใช้แบบ Core คุ้มกว่า

ยกตัวอย่างระบบ Virtualize (VMware, Hyper-V)

กรณีที่ต้องการจะใช้ SQL Server จำนวนมาก จะมีวิธีประหยัดอยู่ครับ มาดูเคสตัวอย่างกันเลย ต้องการติดตั้ง SQL Server บน Windows Server จำนวน 40 Guests (4 Cores / Guest รวมเป็น 160 Cores) บนระบบ Virtualize ระบบมี Physical Host ขนาด 16 Cores จำนวน 2 Host รูปแบบ License ที่จะประหยัดมากที่สุดคือ SQL Server 2017 Enterprise Edition ใช้ License จำนวน 16 Licenses (1 License / 2 Cores) + SA ก็จะครอบคลุม Physical Host ทั้งหมดไม่ต้องเสียค่า License เพิ่ม คำนวณดูแล้ว ค่า License ที่เราจะเสียจะประมาณ 8 ล้านบาท

ถ้าคิดต่อ Guest ราคาจะอยู่ที่ประมาณ 2 แสนบาท / Guest ถ้ามีแผนจะ Implement แนะนำให้ใช้วิธีนี้ สามารถเพิ่ม SQL Server ได้ไม่จำกัดจำนวนเลย ซึ่ง Enterprise Edition ทาง Microsoft จะแนะนำให้ใช้กับระบบ Virtualize Scale ใหญ่ ๆ อยู่แล้ว (อย่าลืมว่าต้องมีซื้อ License รวมกับ SA นะ)

ถัดมาเป็น SPLA License เป็น License เช่าใช้รายเดือน หาซื้อได้จาก Cloud Service Provider หรือ Hosting เจ้าต่าง ๆ 

SPLA License ของ SQL Server Standard Edition มี 2 แบบ

    แบบที่ 1 เป็นแบบ SAL Model

(SAL) Subscriber Access License (เหมือน CAL สำหรับ SPLA แต่เรียกว่า SAL) เป็น License ที่จะทำให้มีสิทธิ์ในการเข้าใช้งาน Server แบ่งแยกออกเป็น 2 แบบ คือ

  1. แบบที่ 1 User SAL นับตามจำนวน User จะใช้งานจากกี่ Device ก็ได้
  2. แบบที่ 2 Device SAL นับตามจำนวน Device ที่เข้าใช้งาน Server

SAL จะนับ User หรือ Device คล้าย ๆ กับ CAL แต่ไม่ต้องซื้อ Server License แบบ Per CAL Model

มองง่าย ๆ คือ ถ้าจะใช้ SQL Server Standard Edition แบบนับ User ได้ ให้ซื้อแค่ SAL License อย่างเดียว

    แบบที่ 2 เป็นแบบ Per Core Model นับตามจำนวน Core

สามารถซื้อใช้กับ Physical Server และ Virtual Server ก็ได้ มีขั้นต่ำที่ Microsoft ระบุไว้ว่าต้อง License ให้กับ Server อย่างน้อย 4 Cores ต่อ Processor

ถัดมาจะเป็น SPLA License ของ SQL Server ที่เป็น Enterprise Edition ครับผม

SPLA License ของ SQL Server Enterprise Edition จะคิดราคาแค่แบบเดียวคือ Per Core Model

    เป็น Per Core Model เหมือนกับ Standard Edition แต่จะต่างกันที่ Feature ที่ Enterprise มีให้มากกว่า

จุดคุ้มทุน ถ้าเทียบกันแล้วระหว่าง SPLA กับ Volume จะอยู่ที่ 25 - 30 เดือน หากจะ Implement ใช้ในระยะยาวแล้ว แบบ Volume จะคุ้มว่า แต่ SPLA จะได้เปรียบในการประหยัด Cash Flow ได้มากกว่าครับ

สิ่งที่สำคัญของ SPLA เลยก็คือลูกค้าสามารถ Upgrade หรือ Downgrade Version SQL Server ได้ตลอด ส่วน Volume จะต้องซื้อ SA ตั้งแต่ Day One ทำให้ค่าใช้จ่ายของ Volume แบบ Total (รวม SA แล้ว) เสียเพิ่มไปอีกประมาณ 60% ของราคา License

ราคา License SQL Server แบบ SPLA (ณ ปี 2019)

  • User/Device SAL ราคา 1,000 บาท/License
  • SQL Server 2017 Standard Edition (Core) ราคา 6,000 บาท/License ซื้อขั้นต่ำ 4 Cores หรือ 2 Licenses
  • SQL Server 2017 Enterprise Edition ราคา 22,000 บาท/License ซื้อขั้นต่ำ 4 Cores หรือ 2 Licenses

สำหรับตัวอย่างการใช้งานของ SPLA License ส่วนใหญ่ที่ใช้กันจะเป็น Standard Edition ลักษณะ SAL

มี VM ต้องการทำเป็น SQL Server มีขนาด 2 Cores มี User ใช้งาน 4 คน พร้อมกัน จะต้อง License แบบ SAL จำนวน 4 Licenses 

นับรวมค่าใช้จ่าย (1,000 x 4) = 4,000 บาท 

อ่านมาถึงขนาดนี้แล้ว ถ้ายังตัดสินใจไม่ได้ ผู้เขียนสรุปให้กระชับด้านล่างนะครับว่า

SQL Server Edition ไหนเหมาะกับใคร

SQL Server Standard เป็น Edition ที่นิยมใช้งานกันมากที่สุด มี Feature พื้นฐานเหมาะสำหรับองค์กรขนาดเล็กและขนาดกลาง

SQL Server Enterprise ใช้สำหรับ Environment ที่ Critical มาก ๆ Down ไม่ได้ มี Feature ให้เลือกใช้ทุกแบบ ตัวอย่างเช่น Always On, HA, DR และ Backup เหมาะสำหรับองค์กรใหญ่ ๆ หรือผู้ที่ต้องการใช้ Feature หลาย ๆ อย่างที่ Standard Edition ไม่มี


สรุปข้อแตกต่างระหว่าง SQL Server แบบ Volume และ SPLA

SQL

เป็นอย่างไรกันบ้างครับ พอจะได้ไอเดียกันไหมครับ ถ้าใครมีคำถามสามารถ Comment เพิ่มเติมได้ที่ Facebook นะครับ หากต้องการให้เขียนเรื่องใด สามารถ Request เข้ามาได้นะครับ

ทางผู้เขียนพร้อมแชร์ไอเดียดี ๆ ให้ได้เรียนรู้ไปด้วยกันนะครับ 

ขอบคุณครับ

หมายเหตุ : Blog นี้เป็นเพียงความคิดเห็นส่วนตัว อาจมีข้อผิดพลาดหรือการเปลี่ยนแปลงได้ตามความเหมาะสม รบกวนใช้วิจารณญาณในการอ่าน หากไม่มั่นใจสามารถสอบถามโดยตรงได้จาก Microsoft ครับ


Blog อื่น ๆ

Volume, CAL, SPLA อธิบายง่าย ๆ ให้คุณอ่านรอบเดียวเข้าใจ

เข้าใจ WINDOWS SERVER LICENSE ง่าย ๆ จบใน 5 นาที

-- Cloud HM