SQL Anywhere automatic failover

  • 13 August 2020
  • 0 replies

Badge +5

We have K2 5.4 installed on 2 Windows 2016 servers talking to the K2 db using a SQL Anywhere listener, as documented in https://help.k2.com/kb001572


e.g Node 1 (N1) and Node 2 (N2) talking to SQL Listener name SQLDB for the K2 db in a availability group across 2 SQL server nodes DBSVR1 and DBSVR2


Here is what we tested


1. Verified that DBSVR1 is the Primary DB node and the availability group is synchronized
2. All K2 sites are operational and served by N1
3. Rebooted DBSVR1
4. This caused SQL Anywhere to make DBSVR2 as the Primary node
5. Refreshed the K2 Management site
6. After a few retries, we expected K2 to re-connect to the listener SQLDB which would now route connections to DBSVR2


This did not work. So I logged on to N1 and tried to restart the K2 Server service. The service did not start with the error

21:17:19","Error","General","0","ErrorMessage","SourceCode.Hosting.Server.Runtime.HostLoadBalancedServerManager.Poll","0 System.Exception: Error (500) Internal Server Error.


The reason behind setting up this configuration is to provide load balancing and resilience when either the Windows server or the SQL Server goes down.


After a few retries, all K2 components should automatically come back online WITHOUT having to manually restart K2 service on either node.


Please advise how we can achieve this fully automated failover



0 replies

Be the first to reply!