We had a requirement to migrate the View Composer database from Server1 to Server2. This is not moving the Composer service, just the database.
Well that should be pretty straight forward you would think, stop the Composer service, backup the database on Server1, restore the database onto Server2, change the ODBC details on Server1 to point to the restored database on Server2, restart the Composer service on Server1. Life is good and it all works as expected.
Now we had an additional requirement where we had to change the SQL account that was being used. We needed a new SQL account and password. Following the process above works fine until we try to start the Composer Service, the service would hang and eventually failed with Windows generic “the service failed to start in a timely manner”. mmm wonder what is causing that.
Digging into the View Composer logs in the VDM directory, I could see that there were authentication issues every time the Composer service tried to start, doing some research I came across the following VMware KB article that addressed the issue we experienced.
So the nuts and bolts of it is that if you change the password of the ODBC DSN, you also have to take additional steps to update the SviWebService.exe.config file.
The interesting thing is this looks to be a hidden sub-command to resolve this, as I have spent a bit of time in the last month playing around with SviConfig for my VMware VCAP5-DTA exam coming up. When you run from the command line SviConfig you do not see the “SaveConfiguration” option.
I have included the contents of the VMware KB article below…
This issue occurs if the new password is not reflected in the SviWebService.exe.config file.
To update the SviWebService.exe.config file with the SviConfig utility:
- Copy the SviWebService.exe.config file to a temporary directory. In the same location create a copy of theSviWebService.exe.config file and rename it to SviWebService.exe.config.old
Note: Both the files must be in the temporary folder for this procedure to work.
Note: SviWebService.exe.config and sviconfig.exe are located at:
In 32-bit Servers: C:\Program Files\VMware\VMware View Composer In 64-bit servers: C:\Program Files (x86)\VMware\VMware View Composer
- Right-click the Command Prompt icon and click Run as administrator.
- Run this command all in one line:
SviConfig -operation=SaveConfiguration -dsnname=simdb -username=myusername -password=mypassword -passwordchanged=true -NHibernateDialect=NHibernate.Dialect.MsSql2005Dialect -tcpport=18443 -KeyContainerName=SviKeyContainer -keySize=2048 -CertificateThumbprint=”F733A3B16A32C768B115F5005C25E8D4FE99A4F2″ -ConfigPath=”d:\temp\test\SviWebService.exe.config” -OldConfigPath=”d:\temp\test\SviWebService.exe.config.old”
Note: For View Manager 3.x, replace -tcpport=18443 with -tcpport=8443 .
- dsnname=simdb is the name of the DSN for Composer.
- password=mypassword is the SQL password for the DSN.
- CertificateThumbprint= is the certificate thumbprint found in the SviWebService.exe.config file.
- d:\temp\test\ is the directory in which you copied SviWebService.exe.config
- username= myusername is the database account name provided in DSN for Composer.
- Copy the modified SviWebService.exe.config file back to the VMware View Composer directory, replacing the existing one.
- Restart the View Composer service.