Upgrade SpeechMiner from any Version to 8.5.501
This document explains how to upgrade SpeechMiner from any version to version 8.5.501.
Pre-upgrade Requirements
- Request the most recent release of the target software version from your Genesys representative.
- Request the SpeechMiner license from Genesys Licensing.
- Verify that the following are installed:
- Microsoft .NET Framework 3.5 SP1 must be installed on all machines that will run SpeechMiner components or interact with SpeechMiner.
.net 3.5 Service Pack 1 contains many new features building incrementally upon .NET Framework 2.0, 3.0, 3.5, and includes cumulative servicing
updates to the .NET Framework 2.0 and .NET Framework 3.0 subcomponents. You can download the installation package at:
http://www.microsoft.com/en-us/download/details.aspx?id=22. - Microsoft .NET Framework 4.5 SP1 (4.5.1) must be installed on all machines that will run SpeechMiner components or interact with SpeechMiner.
You can download the installation package at:
http://www.microsoft.com/en-us/download/details.aspx?id=40773. - Microsoft Visual C++ 2013 Redistributable must be installed on all machines that will run SpeechMiner components or interact with SpeechMiner.
You can download the installation package at:
http://www.microsoft.com/en-us/download/details.aspx?id=40784.
- When upgrading to a later build for the same version, SMUpgrade is not required. Contact Genesys Customer Care to verify if you need an SQL script for the specific upgrade.
Upgrade Checklist
The following checklist summarizes all the procedures required for upgrading SpeechMiner. Make sure to complete all of the required procedures.
Item to Check | Details |
---|---|
Storage Requirements | To successfully complete the upgrade process, the data partition in the SQL server must have available disk space. The minimum required storage for the upgrade should be twice the size of the production database .mdf file. |
Check for Customization | If any customizations were implemented on your DB, make sure that they are part of the new version, or that they can be used in the new version without changes. Contact Genesys Customer Care for assistance. |
Rollback Plan
To ensure that you can revert back to your current SpeechMiner version, back up your current version's database and data folders (index, grammars, etc.).
For detailed information about the folders you should back up, refer to Required Folders
Since your current DB and data folders are saved and available, back-out steps are not required if problems arise with the upgrade process before you uninstall your current version. Your current system should still be configured and functional.
After you uninstall your current SpeechMiner version and install your target SpeechMiner version, the only way to revert back to your current version is to uninstall the target version, reinstall your current version, restore the database and data folders from backup, and update the config files using SMConfig.
Upgrade Procedure
- You must test SMUpgrade and backup your database before you begin the upgrade procedure. Create a backup of your database, place it on a separate system and perform all the upgrade steps to verify that the process works properly.
- Before you start the upgrade process, open the versionTbl table and change the value in the Version column from 8.5.#### to 8.5.0.####. For example, change 8.5.7169 to 8.5.0.7169.
- Disable Database Mirroring for the duration of the upgrade to enable the procedure to run faster.
- Using SMConfig->Services->Stop Services, stop your current system. In addition, stop the Interaction Receiver and SpeechMiner Application Pools if they exist.
The Interaction Receiver Application Pool only exists if you have recording and the SpeechMiner Application Pool only exists on web servers. - Create a backup copy of the source DB.
ImportantThese steps are necessary because the schema will be changed from your current version to the target version. It is important to back up the previous version in case of issues that may arise with the upgrade process. - If you do not have an IX_originalTime index in the TextData table, run the following script to create it:
ALTER TABLE [dbo].[TextStatus] DROP CONSTRAINT [FK_TextStatus_TextData]
GO
ALTER TABLE [dbo].[TextData] DROP CONSTRAINT [PK_TextDataTbl]
GO
ALTER TABLE [dbo].[TextData] ADD CONSTRAINT [PK_TextDataTbl] PRIMARY KEY NONCLUSTERED
(
[textId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TextStatus] WITH NOCHECK ADD CONSTRAINT [FK_TextStatus_TextData] FOREIGN KEY([textId])
REFERENCES [dbo].[TextData] ([textId])
GO
ALTER TABLE [dbo].[TextStatus] NOCHECK CONSTRAINT [FK_TextStatus_TextData]
GO
CREATE CLUSTERED INDEX [IX_originalTime] ON [dbo].[TextData]
(
[originalTime] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
- Verify that your system does not contain duplicate interactions:
- Run the following query to find duplicate interactions:
SELECT externalID, Count (*)
FROM callMetaTbl
Group BY externalID
Having count (*) > 1 - If duplicate interactions were found, run the following query to remove the duplication. The interaction with the lowest Call ID will remain in the system.
DECLARE @ids VARCHAR(max)
DECLARE @deletedCallsNum int
with x as (select *, rn= ROW_NUMBER()
over (PARTITION BY externalID order by callid)
from callMetaTbl)
SELECT * into #duplications from x
WHERE callid NOT IN
(SELECT MIN(callId) FROM x)
and
rn > 1
While exists (Select * From #duplications)
begin
set @ids = ''
SELECT * into #duplicationsToDelete from (select top (1000) * from #duplications) as y
SELECT @ids = @ids + ', ' + CONVERT(varchar(10), callid) from #duplicationsToDelete
set @ids =Stuff(@ids, 1, 2, '')
delete from indexq where resourceId in (select callid from #duplicationsToDelete)
insert into indexq select callid,2,null,1,calltime,1 from #duplicationsToDelete
exec sp_deleteCallsAndGetTheirPath @ids, @deletedCallsNum OUTPUT
delete from #duplications where exists (select 1 from #duplicationsToDelete dtd where #duplications.callid = dtd.callid)
drop table #duplicationsToDelete
end
drop table #duplications
- Run the following query to find duplicate interactions:
- Install and run SMUpgrade to upgrade your database from your current version's DB to the target version's DB as follows:
- When upgrading a large database, make sure that the hard drive that hosts the target database has enough storage space. The minimum required storage for the Upgrade procedure should be twice the size of the production database .mdf file.
- Verify that you are working with English US localization settings. You can not upgrade using localization settings that are not English US.
- Contact Genesys Customer Care to receive the scripts required to perform the upgrade procedure. Allow for one week to receive the scripts along with instructions about how to use them.
- Verify that your recovery model is either Simple or Bulk-logged. To determine which recovery model you have, right click db > properties > options > recovery model.
- Use the SpeechMiner Installer to install the SMUpgrade component. It is recommended to install and run the SMUpgrade component on the SQL server.
- Configure the following in the \utopy\tools\bin\release\SMUpgrade.exe.config file:
You can change the LogFile location. The default LogFile location is in the same folder as the SMUpgrade.exe.config file.<connectionStrings> <add name="SQLServer" connectionString="server=[SERVER];uid=[USER];pwd=[PASSWORD];database=[DB NAME]" /> </connectionStrings> <appSettings> <add key="ScriptsFolder" value="..\..\UpgradeScripts" /> <add key="LogFile" value=".\SMUpgradeLog" /> <add key="ClientSettingsProvider.ServiceUri" value="" /> <add key="MasterPassword" value="" /> </appSettings>
Important- It is highly recommended to use the sa credentials.
The user account must belong to the db_owner role in the target database. By default, the DBUser includes the db_owner role. - If you are encrypting audio when upgrading to 8.5.5 or later, you must set and remember the Master password. For details, see the Using the SMConfig to Configure SpeechMiner section in the SpeechMiner Administration Guide.
- Verify that the Script folder points to the folder you received from Genesys Customer Care. By default the Script folder is as it appears in the ScriptFolder line above.
- When upgrading to 8.5.4 or 8.5.5 verify that the version number in the ScriptsFolder line is the current version number.
- It is highly recommended to use the sa credentials.
- Run SMUpgrade.exe from a Command Line as an Administrator.
- When you are asked if you are sure you want to continue, answer yes.
- Verify that the database and versions specified in this step are correct.
When you are asked if you are sure you want to upgrade the database from your current version to the target version, answer yes. - Continue with the upgrade instructions below.
- Optional: Uninstall your current version from all servers. The two versions (your current version and the target version) cannot be running side by side at the same time. Only one version can be registered as the active SpeechMiner service on each server. The installation binaries can be left on the server.
- Install the target version platform on all servers.
- Install the target version Web on the Web server.
- Install the target version SMART on users' desktops, as required.
- Update the package folders with the target version's .gram files. The .gram files are located in the <Installation Folder>/Support/Grammars.
Alternatively, if you have not made changes to any file in these folders, you can delete their content completely. SMConfig will copy the grammar files to <Installation folder>/Support/Grammars. - Manually copy the files in <Installation Folder>\Support\Grammars\Confidence to the Global Packages folder.
- Run SMConfig.
ImportantIf your database was restored from a backup file, you may need to "fix" an orphan dbuser. To do this, simply run EXEC sp_change_users_login 'Auto_Fix', 'dbuser'.
- Configure the Sites & Machines, panel as necessary, and save the changes. Make sure you save this panel even if you have not made any changes.
- Configure the Services panel and save the changes. Do not start any of the services.
- Configure the Index panel and save the changes.
- In the Reports panel, update the MRSLibrary.dll on the report server.
- Deploy the reports to the report server.
- Start SMART and perform the following:
- Right-click on each active Program icon and choose Activate program.
- Run the following SQL code in order to force apply of all the topics:
update smartTopicTbl set saveDate = dbo.time2tod(GETUTCDATE()) where version = 0 - Click the Apply button.
- In the new Apply popup window, choose Apply all.
- Click the Apply button.
- Using SMConfig, start the UPlatform services on all the servers.
- Open the SpeechMiner web-based interface and test the functionality.
- If Database Mirroring was enabled and you disabled it at the beginning of this procedure, enable Database Mirroring.
Prerequisites:
If you are upgrading from 8.5.3 GA (build 136) or 8.5.4 GA (build 85) to 8.5.5 GA (build 67), or if you are upgrading from 8.5.5 GA (build 67) to 8.5.501 GA (build 97) you do not have to contact Customer Care since the scripts are included in the installation.
Usage
All messages are written to the file that starts with the name specified in 4c, followed by a time stamp.
If for some reason, the Upgrade process could not open in the Log file the messages will only be written in the Console.
The Upgrade process can fail due to a Minor error (Return Code <100) or a Major error (Return Code >100).
If the process fails due to a Minor error, you can continue the Upgrade process on the same database after you solve the problem.