Skip to main content
Hi,
I need to migrate K2.net databases to a new SQL Server (with different name than the old one). Any idea what are the steps to do this without any hiccups? Any configuration to change at the K2.net server and the new SQL Server? Thanks!
Please do the following to have a successful migration:

K2.net 2003 Service
1. Open the K2.net 2003 service in the windows Control Panel under Administrative Tools and stop the old K2.net 2003 server

K2.net 2003 Databases (look at sql scripts included and replace the values)
1. Backup the existing K2.net 2003 transaction and log databases.
2. Install K2.net 2003 on the new server and have the install create clean K2.net 2003 databases on the new SQL server.
3. Make a copy of the information in the first entry of the _server table of the clean K2.net 2003 database.
4. Restore the backup K2.net 2003 databases over the top of the new clean databases.
5. Replace the first entry in the _server table with the values from step 3.
6. Start the K2.net 2003 Server service and ensure that it starts up correctly.

Script 1

GO

SET NOCOUNT ON

SELECT * INTO K2Specs_Server..K2ServerDetails
FROM _server

SET NOCOUNT OFF
SELECT * FROM K2Specs_Server..K2ServerDetails



Script 2


DROP TABLE #_server_temp

USE MASTER
DROP DATABASE K2Specs_Server


K2.net 2003 SmartForms

1. If you have a K2.net 2003 SmartForms solution, you will have to change the plan server name in your web.config file of the K2.net 2003 SmartForms solution.

K2.net 2003 Studio

If you have IPC (Inter Process Communication) events in your processes and the server name was used instead of (local) the running processes will have to be stopped and re-started on the new server.

A couple of Notes:

The reason you will need to turn off the old K2.net 2003 Server at the point that the backups are made is so that nobody can interact with the server between the time that the backups are made and the time that the new server is started. If you run the two servers in parallel in a non-clustered setup the data on the two databases will be different.

I would also watch out for the fact that the K2.net 2003 server name, SQL Server name, and potentially the IIS server name are going to be different after the migration. You will want to ensure that after you have the K2.net®️ 2003 Server running all the String tables reflect the new server names. It might require that you reconfigure and re-export the processes if there are any hard coded values.

The fact that the worklist serial number contains the server name isn t an issue unless someone is using the serial number to derive the server name. Any new worklist items will reflect the new server name, but the old ones are still valid.
Thanks for the swift reply David. Is it necessary to install K2.net on another new server because we just want to retire the existing SQL Server (dedicated) and hence migrate the databases to a new SQL Server box. Appreciate your feedback. Thanks!


"david" wrote:
Please do the following to have a successful migration:

K2.net 2003 Service
1. Open the K2.net 2003 service in the windows Control Panel under Administrative Tools and stop the old K2.net 2003 server

K2.net 2003 Databases (look at sql scripts included and replace the values)
1. Backup the existing K2.net 2003 transaction and log databases.
2. Install K2.net 2003 on the new server and have the install create clean K2.net 2003 databases on the new SQL server.

It is much easier to do a new installation and then replace the K2 databases with the backed up ones, than to change all the properties on the K2.net server to point to the correct K2 databases on the new sql box.

Hope this make sense.
How do I obtain a new system key to get a valid license key?   I believe I need to update the server name in table _Server.   This is a dev/QA server, I cloned it for VM and changed the .configs to point to new server.   I'd prefer not to having to backup/restore databases if all I need is changing the record in _Server.

The only ways to get the K2 System Key on an existing K2 system is to walk thru the K2 installer (use 'Add/Remove Programs'  > 'Modify' or use K2 Service Manager.  It is not stored in any of the databases, tables, fields, nor config files.


For new K2 systems, the only way is to run thru the K2 installer.


When running thru the installer, once you reach the 'Enter License Key' wizard screen, you can document the System Key that is generated and then cancel out of the install to abandon any changes.


 


 


Even after I deleted K2 and K2Log db, re-ran K2 .Net 2003 SP4 install, it had other errors trying to re-create the K2/K2Log dbs.   I ended up doing a Remove Install then refresh install.

Also if my new SQL Server 2005 is on 64 bit Win2003 OS, would the steps for installing K2 .net 2003 work?

Hi Peter,


To my knowledge, as long as it's only SQL Server running on the 64-bit OS, the installation should work just fine.


Let us know.


Regards,


Ockert


I am trying moving k2 databases from 32-bit 2000sql to 64-bit 2005 sql server right now.

one thing i found; 

database compatibility level needs to be 80 or lower.

so if the compatibility level is 90 on the model database of the sql server you are installing it to, you need to change it to 80 for the install so that the K2 databases are created with level 80.
 


Did you get an error when it was at compatibility 90?   Does a brand new install of K2 .NET 2003 on SQL 2005 specify that compatibility level needs to be set at 80?  

I do not recall setting that when installing on SQL 2005.

Do you have your SQL 2005 running under a domain ID?

I have to run this to set up Kerberos for SQL Server (replace the items in bracket for your specific env)  I am testing moving it to a 64-bit SQL 2005 and it seems to be working fine!

setspn -A MSSQLSvc/LSQL Server FQDN]:1433 1domain]mdomain ID]


fooK2 compatibility error

I get this error when running a fresh K2 install (makes a new database). I get this error on the K2 server during the installation process, not on the sql server.

 

If I set the model database to be 80 instead of the usual 90, it works fine. 


Reply