Docker การารสร้าง container ของ SQL Server จะมีตัวแปรสภาพแวดล้อม MSSQL_PID ย่อมาจาก Microsoft SQL Server Product ID ซึ่งเป็นตัวกำหนดว่า SQL Server ที่คุณรันบน Docker จะใช้ Edition ไหนและมีเงื่อนไขการใช้งานอย่างไร
สรุปเปรียบเทียบกับรุ่นต่าง ๆ
| ค่าที่ตั้งใน MSSQL_PID | Edition | รายละเอียด |
| Developer | Developer | ฟรี ฟีเจอร์ครบเท่า Enterprise แต่ห้ามใช้จริง |
| Express | Express | ฟรี ใช้ใน Production ได้ แต่จำกัด RAM และขนาด DB |
| Standard | Standard | เสียเงิน สำหรับการใช้งานทั่วไป จำกัดสเปกเครื่องบางส่วน |
| Enterprise | Enterprise | เสียเงิน ราคาสูงที่สุด ฟีเจอร์ครบถ้วนสำหรับระบบขนาดใหญ่ |
| (Product Key) | Retail | หากคุณซื้อ License มา คุณสามารถใส่รหัส 25 ตัวในช่องนี้ได้เลย |
Developer เหมาะกับ dev project ที่สุด
คำแนะนำ: หากคุณกำลังทำโปรเจกต์ส่วนตัวหรือเขียนโค้ดอยู่ Developer คือตัวเลือกที่ดีที่สุดเพราะไม่มีข้อจำกัดด้าน Performance เหมือนรุ่น Express
ฟีเจอร์ครบถ้วน
การใช้ Developer Edition จะทำให้คุณสามารถเข้าถึง ฟีเจอร์ทุกอย่างที่มีในรุ่น Enterprise เช่น
- In-Memory OLTP: การประมวลผลข้อมูลในหน่วยความจำเพื่อความเร็วสูงสุด
- Data Compression: การบีบอัดข้อมูลเพื่อประหยัดพื้นที่
- Advanced Indexing: ฟีเจอร์การทำดัชนีขั้นสูง เช่น Columnstore indexes
- Transparent Data Encryption (TDE) : การเข้ารหัสข้อมูลในระดับฐานข้อมูล
ข้อจำกัดด้านการใช้งาน
- ห้ามใช้ในงาน Production: คุณสามารถใช้รุ่นนี้ได้เฉพาะในสภาพแวดล้อม การพัฒนา , การทดสอบ หรือ การสาธิต เท่านั้น
- หากคุณลืมระบุ
MSSQL_PIDหรือใส่ค่าไม่ถูกต้อง SQL Server มักจะเริ่มต้นทำงานเป็นรุ่น Evaluation ซึ่งจะมีอายุการใช้งานเพียง 180 วัน หลังจากนั้น Service จะหยุดทำงานและต้องทำการ Upgrade หรือเปลี่ยน PID ครับ
อ่านเพิ่มเติม