Summary

After upgrading to adTempus 3.0 from an earlier version of adTempus, the adTempus services fails and logs the following error message in the Application log in the Event Viewer:

The adTempus service cannot be started because an error occurred while upgrading the adTempus database from the prior version. Please try to start the adTempus service again, and contact technical support if this error occurs again. Additional information for technical support personnel can be found in diagnostic log file c:\Program Files\Arcana Development\adTempus\logs\adtempussrv.2008nnnnnnnnnnnnnn.log.

The log file named in the error message contains the following error message near the end of the file:

Database error -2147217865: Invalid object name 'environmentVariables'. (source=Microsoft OLE DB Provider for SQL Server; native error=208; SQL state=42S02) on operation attempt 1

Cause

This problem occurs because an earlier adTempus upgrade dropped and recreated the environmentVariables table in the database. The table was recreated under a different schema owner than the rest of the adTempus tables, and the upgrade process fails to find the table.

Resolution

To resolve this problem it is necessary to change the owner of the environmentVariables table so that it is owned by "dbo":

  1. Run the "adtdbutil" program found in the adTempus program folder. It will connect to the adTempus database and display an empty query panel.
  2. Enter the following query, then press F5 to execute it:

    select name from sysusers where uid=(select uid from sysobjects where name='environmentvariables')

  3. Note the name returned by the query.
  4. Enter the following query, then press F5 to execute it. Replace username with the user name obtained in step 2.

    sp_changeobjectowner 'username.environmentVariables','dbo'
     
  5. If step 4 produces an error message, contact us for additional assistance.
  6. Otherwise, start the adTempus service and confirm that it starts successfully, as discussed below.

Additional Information

During a version upgrade, adTempus must update the adTempus database. This is not done during the installation routine, but instead occurs when the adTempus service is started after software installation is complete.

Depending on the size of your adTempus database, the upgrade process may take several minutes. During this process, adTempus will log a series of informational messages in the Event Log (with event ID 41) reporting its progress. When the upgrade is complete, it will log a message with ID 40 indicating that initialization is complete.