MultiSubnetFailover ใน MS SQL Server คือ อะไร
เป็น Feature ที่ช่วยเรื่อง High Availability (HA) หรือ Disaster Recovery (DR) ของฝั่ง Database ที่ Implement Always On Availability Groups หรือ Failover Cluster Instances (FCI) โดย Key ของมันจะเข้ามาแก้
- ปัญหาเดิมๆ ที่เราอาจจะทำ HA / DR ไว้ โดยจับจาก DNS เมื่อมีการ Failover ระหว่าง Subnet (เช่น จาก Data Center A ไป Data Center B) Client จะใช้เวลาในการเชื่อมต่อใหม่ เพราะจะต้องรอ Timeout ของ DNS ในแต่ละ IP Address
- เมื่อใส่ MultiSubnetFailover ใน App Client จะพยายามเชื่อมต่อไปยังทุก IP Address ที่ระบุใน Connection String พร้อมกัน (parallel) ทำให้ลดเวลาการเชื่อมต่อใหม่หลังเกิด Failover ระหว่าง Subnet ได้อย่างมาก
ใน App ต้องปรับอะไรบ้าง ?
เติม MultiSubnetFailover=True เข้าไปใน connection string ดังนี้
DOTNET (appsetting.json)
Server=<ip_or_dns>,<your_custom_port>;Database=<namedatabase>;User Id=myUsername;Password=myPassword;MultipleActiveResultSets=True;MultiSubnetFailover=True;
JAVA SPRING (yaml)
app: null datasource: null url: >- jdbc:sqlserver://<ip_or_dns>:<port>;databaseName=<namedatabase>;integratedSecurity=false;encrypt=true;trustServerCertificate=true;MultiSubnetFailover=True
Reference
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.



