Symptoms
When upgrading K2 4.6.9 to 4.6.11, either using the K2 upgrade package or the full (combined) installer, the K2 blackpearl service fails to start with the following error:
"30401732","2015-10-23 13:51:08","Error","System","2001","ServerStartError","SourceCode.Hosting.Server.Runtime.HostServerEngine.StartHostServer","2001 Error Starting Host Server: Could not find stored procedure 'HostServer.GetUserCertificates'.","system","xxx.xxx.xxx.xxx","K2SERVER:C:Program Files (x86)K2 blackpearlHost ServerBin","30401732","c9b84f4837a64f5d845faaff0922fdef",""
Diagnoses
We inspected the installer logs and found the following logged error:
28:13: DBQuery.RunQuery: 13:43:12:>> Logged Error: Error running script segment: System.Data.SqlClient.SqlException (0x80131904): Column names in each table must be unique. Column name 'CreateDateUTC' in table 'HostServer.Session' is specified more than once.
---
28:13: ExecuteSqlScript.Execute: 13:43:12:>> Logged Error: Script
28:13: ExecuteSqlScript.Execute: 13:43:12:>> Logged Error: Script execute failed: SnapshotsSourceCode.Data.HostServer.DiffScript.sql
---
There were also multiple coldfixes installed on the environment.
Resolution
A post-upgrade SQL script was provided to resolve this issue. After applying this SQL script and doing a K2 Blackpearl Reconfiguration, the K2 server was able to start again.
This is a high-risk operation however. If you have one or more coldfixes installed on 4.6.9, then there is a low-risk pre-upgrade SQL script you have to run BEFORE upgrading to 4.6.11. We tested this script in other environments as well and it worked.