Symptoms
There are some Database related errors too "ERROR: Column name or number of supplied values does not match table definition".
Not sure if as part of K2 4.6.11 some of the table definition has been changed for the database K2ServerLogArchive.
And so our .NET Archive utility is not working.
"18060410","2016-03-27 20:15:27","Error","System","2025","InternalMarshalError","SourceCode.Hosting.Server.Runtime.HostServerBroker.InternalMarshal","2025 Error Marshalling SourceCode.Workflow.Runtime.Management.WorkflowManagementHostServer.Archive, Column name or number of supplied values does not match table definition.
at SourceCode.Workflow.Runtime.Management.WorkflowManagementHostServer.Archive(String connectionString, String logDatabase, String archiveDatabase, DateTime fromDate, DateTime toDate)","","","HA1-QK306:C:Program Files (x86)K2 blackpearlHost ServerBin","18060410","77023cfa57b74e51bfdf8f5b990ae108",""
"18060411","2016-03-27 20:15:27","Error","System","2025","InternalMarshalError","SourceCode.Hosting.Server.Services.TCPClientSocket.InternalMarshal","2025 Error Marshalling SourceCode.Workflow.Runtime.Management.WorkflowManagementHostServer.Archive, Column name or number of supplied values does not match table definition.","system","fe80::c89e:d8ad:65eb:490c ","HA1-QK306:C:Program Files (x86)K2 blackpearlHost ServerBin","18060411","3913ee91ef4d44edbae60fd444dd9a63",""
Some of the Errors from Event viewer on Windows server are as below:-
2025 Error Marshalling SourceCode.Workflow.Runtime.Management.WorkflowManagementHostServer.Archive, Column name or number of supplied values does not match table definition.
We have .NET utility "K2Archive.EXE" which is run via a task scheduler every day at 8:15 PM. It is running but look like returning the Error code of 0*1. Please find below errors with return code as 1.
Task Scheduler successfully completed task "K2Archiving" , instance "{48e4ff9c-5fa8-4970-9df1-f5c290da8da2}" , action "C:Program Files (x86)K2ArchivingK2Archiving.exe" with return code 1.
Diagnoses
Database Archive functions work externally of our software upgrades. To repair functionality between archiving and the version of K2 you are running, you can create a fresh DB and point the archiving to that instance or delete the db and have the system recreate the tables and stored procedures.
Resolution
Due to custom programming in place, they deleted all the objects from the K2ServerLogArchive Database in QA and then ran the archival utility manually and it created all the tables, procedures. This allowed them to keep the same database name and reduce impact on the custom code.