Skip to main content
Hi guys,

Is it possible to configure K2Server2003 SP3 to make use use of the database mirroring functionality of Microsoft SQL server 2005 SP1? We want to deploy a database mirror of the K2 databases on a geographical spread location for high availability. Normaly the only thing that is required for database mirroring is that the application can make use of a connectionstring that supports a Data Source and a Failover Partner. As far as i know K2 makes use of the k2SQL.dll (3.6090.1.0) as a db connection provider, i didn t see any alternate database connection string that can make use of a fail-over server if the primary server isn t available. So, is it possible to configure K2Server to make use of a SQL 2005 Database Mirroring ?

I allready tried the following:

I tried to configure the k2server.config to use another SQL Server provider (Provider=SQLNCLI.1 that supports DB fail-over) with the following connection strings:

<Database ConnectionString="Provider=SQLNCLI.1;Password=[ Password ] ;Persist Security Info=True;User ID=[ K2 user ] ;Initial Catalog=K2;Data Source=[DB Server 1]Inst1;Failover Partner=[DB Server 2]INST1;pooling=true;enlist=false;Min Pool Size=5" />
<LogDatabase ConnectionString="Provider=SQLNCLI.1;Password=[ Password ] ;Persist Security Info=True;User ID=[ K2 user ] ;Initial Catalog=K2LOG;Data Source=[DB Server 1]Inst1;Failover Partner=[DB Server 2]INST1;pooling=true;enlist=false;Min Pool Size=5" />

But as stated in de logging beneath it doesn't understand the connection string:

08-06-06 10:46:57 K2Sql.OpenConnection: Keyword not supported: 'Provider'. at System.Data.Common.DBConnectionString.ParseInternal(Char[] connectionString, UdlSupport checkForUdl, NameValuePair& keychain)
at System.Data.Common.DBConnectionString..ctor(String connectionString, UdlSupport checkForUdl)
at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at System.Data.SqlClient.SqlConnectionString.ParseString(String connectionString)
at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
at System.Data.SqlClient.SqlConnection..ctor(String connectionString)
at K2Sql.OpenConnection()
"

Kind Regards
Erwin Kersten
The functionality required for K2.net to automatically switch from one SQL instance to another for failover is not available in K2.net 2003.

Alternate solution (well solution)
You can still make use of the mirroring technology provided by SQL 2005 but this will require you to manually modify the K2.net configuration files when the main instance is offline.

Reply