Summary

This article discusses dependency settings for the adTempus service and explains how to fix problems related to service dependencies.

Background

The adTempus service uses a SQL Server database to store adTempus data. Therefore adTempus cannot function unless the SQL Server database server is running. To ensure that adTempus cannot be started if the database server is not available, and that the database server cannot be stopped without first stopping adTempus, the adTempus database setup tool configures the adTempus service to have a dependency on the SQL Server service. Service dependencies are enforced by the Windows service control manager.

This dependency can only be set if SQL Server is running on the same computer as adTempus. If you are using adTempus with a remote SQL Server database, no dependency can be configured.

Potential Problems

If the service dependency is missing or set incorrectly, adTempus may not start correctly, as described below.

To resolve either of these problems, make sure the dependency is set correctly as described in the Dependency Settings section below.

Missing Dependency

If the dependency on SQL Server is missing, adTempus may fail to start when the computer is restarted. This will happen if Windows starts the adTempus service before it has started the SQL Server service. In this case you will find the following message from adTempus in the Application log in the Windows Event Viewer:

The adTempus service cannot be started due to a database problem: The specified SQL Server instance ((localhost)) does not exist or is not running. [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied. (-2147467259; native error=17; SQL state=08001) (DBERROR352).

If you then start the service manually, it starts without issue.

Note: If the adTempus service fails with the same message when you start it manually, the problem is caused by misconfiguration of the adTempus database settings, not by a dependency problem. See article K00000225 for more information.

Incorrect Dependency

If the dependency is set incorrectly, adTempus will fail to start because Windows is enforcing a dependency on an invalid service. In this case, Windows will log one of the following error messages in the System log in the Windows Event Viewer:

Could not start the adtempus service on local computer. Error 1075: The dependency service does not exist or has been marked for deletion.

or

The adTempus service depends on the following nonexistent service: MSSQLServer

Dependency Settings

To resolve either of the problems described above, make sure that the service dependency is set correctly. To do so:

  1. Run the Registry Editor (regedit.exe) and navigate to the key "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\adTempus". Beginning with adTempus 4, the key name will be "adTempus$instancename".
  2. Look for a value named DependOnService. If this value does not exist, create it as a "Multi-String Value" (REG_MULTI_SZ). (Do not create the value if you are using a remote SQL Server database).
  3. Set the DependOnService value as described below:
Database Type DependOnService Value Notes
SQL Server Express, installed by adTempus MSSQL$ADTEMPUS This applies only if you used the adTempus database tool to install SQL Server Express.
SQL Server Express, a previous installation MSSQL$SQLEXPRESS This applies if you already had SQL Server Express installed, and you are using it for adTempus (this is not a recommended configuration).
SQL Server, default instance, installed locally MSSQLSERVER
SQL Server, named instance, installed locally MSSQL$instancename Replace instancename with the correct instance name for the instance of SQL Server.
SQL Server, installed remotely
For a remote SQL Server, the dependency does not apply. Delete the DependOnService value if it is present.

If adTempus was failing to start due to an invalid dependency and it still fails to start after you correct the dependency setting, double-check that you have the correct setting and then restart the computer so that the service control manager will detect the new setting.