Error: Microsoft OLE DB Provider for SQL Server: Timeout expired

Error Message

When starting the ArcSDE service, it fails and the following error message is recorded within the sde_<service>.log (ArcSDE 9.x) or sde.errlog (ArcSDE 8.x) file:

ArcSDE 9.1 SQL Server Build 2178 Thu Oct 20 11:16:11 PDT 2005
IDBInitialize::Initialize Failed
DB_open_instance() PCC_connect error: -1
init_DB DB_instance_open_as_dba: -51
DBMS error code: -1
Microsoft OLE DB Provider for SQL Server: Timeout expired"

When an attempt is made to manually start the service, it starts without any errors. This scenario is often seen when restarting the database server and the ArcSDE service is set to start automatically.


When the initial attempt to start the service was made, the SQL Server instance was not yet up and running. Since the database service is a dependency of the ArcSDE service, it must be up and running prior to the successful launching of the ArcSDE service. The ArcSDE service attempts to startup for a period of time, but iteventually times out.

Problems with starting the ArcSDE service are often times seen when doing routine maintenance of the server when a reboot is needed.

Solution or Workaround

Manually start the ArcSDE service for connections to be allowed. The service can also be configured to start manually after a reboot of the server.

For an automatic service startup, edit the service properties to re-attempt the ArcSDE service startup after a timeout. Other options are listed below:

  • 1. Open Windows Services from Administrative tools. Right-click on the ArcSDE service and go to properties.

    2. Check on the recovery tab within the service properties. Underneath first and second failures, click the pull-down and select restart the service. This enables the computer to restart the service when a timeout is reached and should enable enough time for the dependent SQL Server service to startup.
  • Modify the time interval that the computer waits before attempting to restart the service. Make changes depending on the time that the SQL Server service is taking to start.
  • Use a batch file. Setup a scheduled task each time the system reboots to start the ArcSDE service.