[MSSQL] ทำให้เครื่องอื่นสามารถ Connect เข้ามาหาได้

พอดีมีเครื่องน้องในทีมลง Windows ใหม่แล้วพอลงอะไรเสร็จหมดแล้ว ปรากฏว่าเครื่องอื่นๆ ในวงแลน ไม่สามารถเชื่อมต่อฐานข้อมูลที่อยู่บนเครื่องนี้ได้ครับ สำหรับวิธีการ + ตรวจเช็คให้เครื่องอื่นสามารถ Connect เข้ามาหาได้ มีขั้นตอน ดังนี้

Check List : CMD – Ping

  • ping ดูก่อนนะครับ ว่าพบ Server หรือป่าว เดี๋ยวจะไปเจอว่าท้ายที่สุดแล้ว ลืมเสียบสายแลน (เคยมีเคสจริงที่ Site ลูกค้าแห่งหนึ่ง เกิดขึ้นแบบนี้ จนสุดท้ายไปเจอว่าหนูเทะสายแลนขาด แต่เรียกให้ vender มาแก้ซะงั้น)

Check List : MSSQL Server Configuration

  • ตรวจสอบว่า Server Properties ของ SQL Server ได้เปิด “Allow remote connection to this server” หรือไม่ โดยมีขั้นตอน ดังนี้
    • เข้าตัว SQL Server Management Studio (SSMS) จากนั้น Login ด้วยสิทธิิ์ที่สามารถจัดการ Database ได้ อย่างเช่น ใช้ Windows Authentication หรือ ใช้ User SA เป็นต้น
    • คลิกขวาที่ Server เลือก Properties
    • มาในส่วน Connection ติ๊กเลือก “Allow remote connection to this server”
    • กด OK เพื่อบันทึกการตั้งค่า
  • ตรวจสอบว่า Enable Protocols TCP/IP หรือ ยัง
    • เข้าตัว SQL Server 2017 Configuration Manager
    • จากนั้นเปิด TCP/IP ตาม Instance ที่ต้องการ (ในที่นี้ Instance ชื่อ “MSSQL2017”) ดังรูป
    • หากใช้ Port อื่นๆ นอกเหนือจาก Port 1433 (MSSQL  Default Port) ก็ตามไปแก้ Port ที่ใช้ด้วย
  • Restart Service ของ MSSQL ครับ

Check List : Windows Firewall ดูว่าได้ Allow Port ของ MSSQL หรือยัง ?

  • สำหรับบน Windows มีขั้นตอน ดังนี้ครับ
    • เข้า Control Panel >> Windows Firewall
    • เลือก Advance Settings ดังรูป
    • เลือก Inbound Rules จากนั้นเลือก New Rule
    • เลือกรูปแบบของกฏ ในที่นี้เลือกให้กฏ ตรวจสอบจาก Port ครับ
    • กำหนด Protocal และ Port
    • ถ้ามีเงื่อนไขเข้าตามกฏ ให้ทำอย่างไร อันนี้ คือ Allow (อนุญาติแบบไม่มีเงื่อนไข)
    • กำหนดขอบเขตของกฏที่สร้าง ในที่นี้กำหนดใช้กฏนี้กับ Domain Network ขององค์กรครับ
    • ตั้งชื่อกฏ และคำอธิบาย จากนั้นกด Finish

หมายเหตุ

  • สำหรับวิธีการนี้ได้ทดสอบใน MSSQL เวอร์ชัน 2008R2 กับ 2017 แล้ว บน Windows 10