If you find yourself in the situation where you’re moving Visual KPI to a new server, this guide will help you make a successful migration.
Before you get started, read the entire guide, along with the pre-migration checklist, to make sure you are all set for moving Visual KPI to a new server.
Keep the following in mind:
- The steps are easy, but the order is critical.
- The prerequisites are fundamental and you would not believe how many people ignore them when preparing for a migration. They are not optional. Even though Visual KPI is a modern and quick-to-deploy application, it is still an enterprise-class piece of software and should be treated as such.
We will assume the typical case, where SQL Server and Visual KPI are on different physical machines. We will also assume that the database and Visual KPI Instance name are identical and are named “InstanceName” for this guide. Just replace “InstanceName” with the name of your instance and you will be good to go. This migration guide also works if you are using a local SQLExpress or other local SQL on the same machine as the Visual KPI web server.
Pre-migration checklist (don’t skip this)
- If your source system includes any Remote Context Services (RCS), STOP, and Contact us for help with this.
- Transpara only supports Domain-joined Servers for installations where SQL and the Visual KPI web server will reside on different machines. We support Workgroup Servers only for installations where SQL and the Visual KPI web server reside on the same machine.
- Start with a healthy Visual KPI instance on the source machine. Check the Windows Event Log and correct any errors being thrown by the source Visual KPI instance before attempting the migration.
- Locate the installation media for Visual KPI Server Manager which matches the exact version of the source Visual KPI Server.
- Once migrated, you can do an upgrade-in-place of the working system. But first, it is essential to get an identical copy running without error.
- The Windows OS must be at least Windows Server 2008 R2 on both the source and target SQL and Visual KPI web server machines. However, you can have different OS versions on each machine.
- Target Visual KPI web server must have all Visual KPI prerequisites installed and tested (review prerequisites here).
- IIS must be configured to allow .NET 4.0 (or newer) to run on the target web server.
- Both target SQL and target web servers are patched and up-to-date for their OS version.
- The SQL software on the target machine is either the same as the source machine or newer.
- Note: This is a SQL requirement, not a Visual KPI requirement. SQL backups cannot be restored to older versions of SQL than the version on which they are created.
- If your SQL environment doesn’t match these assumptions, Contact us for help with this.
Note: Make sure you have the necessary permissions before you begin, as there will be frustration and perplexion in your future if you do not. Don’t take this for granted, as we often hear that “IT told me I had rights” when this was almost true, but not quite. Test your true rights by using SQL Server Management Studio to create a database called “test” and then delete this database. If both of these steps occur without error, then you have sufficient rights on SQL Server. On the Visual KPI web server, ensure that you are a local Administrator.
Steps to Migrate Visual KPI to a new server
Now that we have the pre-flight stuff out of the way, the actual migration should take no more than 10 minutes (plus some time to duplicate interfaces if you have a lot of them).
Follow these steps in order:
On the source SQL Server
- Use SQL Server Backup to create a .BAK file. In our example, you will create “InstanceName.BAK” and containing the database “InstanceName”.
- Copy the BAK file to the target SQL Server machine.
On the target SQL Server
- Restore the database using SQL Restore function.
- Now you have a database on the target SQL box called “InstanceName.”
- In SQL Management Studio, grant dbo rights on this database to the following logins:
- NT AUTHORITY\NETWORK SERVICE (if SQl and web are on same machine).
- YourDomainName\YourWebServerWindowsMachineName$ (if SQL and web are on different machines).
- Replace “YourDomainName” with, guess what? Your actual domain name.
- Replace YourWebServerWindowsMachineName with the NetBEUI name of the machine which is to run the Visual KPI web server.
Create a new site instance
Run the Visual KPI Server Manager on the target Visual KPI machine and create a new website instance named “InstanceName”.
- Uncheck the box to include demo data.
- When the database creation step arrives, choose a DB name of “InstanceName-deleteme” where InstanceName is your source system Visual KPI Instance Name.
- Keep all other selections named “InstanceName”.
- Let the wizard run to completion.
- Create all Interfaces to data sources (OSIsoft PI System, Oracle, Weather JSON, Excel, etc.) with exactly the same names.
- For ODBC, OLEDB and other SQL query-based interfaces, copy the *.SQL fields that hold the Current Value, Historical Value, Trend and Historical Data (if present) data queries to their folders in the target Visual KPI machine, overwriting the default files created when the interfaces were installed on the target Visual KPI machine.
- For JSON, XML and other REST-based interfaces, copy the web.config from the source machine to the target machine, overwriting the files created when the interfaces were installed on the target Visual KPI machine.
- Modify connection strings in the 5 applications; change “DB=InstanceName-delete” me to “DB=InstanceName” in
- Website
- All Remote Context Services (Contact us for help)
- Cache Server
- Alert Server
- Status History Server (if present on source system)
Delete the dummy database
Delete the dummy database in the Target SQL Server machine named “VisualKPI-deleteme”.
You’re done!
Contact us if you need any help moving Visual KPI to a new server.